数据访问的服务类 只在数据访问组建内可用
internal class SQLServer
{
private SqlConnection connection;
private static SQLServer sqlServer;
private SqlTransaction sqlTransaction;
private bool inTransaction;
private SQLServer()
{
connection = new SqlConnection(GetConnectionString());
inTransaction = false;
}
private string GetConnectionString()
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
//如果加密可在这里解密
return ConnectionString;
}
/// <summary>
/// 数据库的一个连接
/// </summary>
public SqlConnection Connection
{
get
{
if(connection == null)
connection = new SqlConnection(GetConnectionString());
return connection;
}
}
/// <summary>
/// 打开连接
/// </summary>
public void OpenConnection()
{
if(connection.State.ToString().ToUpper() != "OPEN")
connection.Open();
}
/// <summary>
/// 关闭连接
/// </summary>
public void CloseConnection()
{
if(connection.State.ToString().ToUpper() == "OPEN")
connection.Close();
}
/// <summary>
/// 事务
/// </summary>
public SqlTransaction SqlTran
{
get{return sqlTransaction;}
}
/// <summary>
/// 开始事务
/// </summary>
public void BeginTransaction()
{
sqlTransaction = connection.BeginTransaction();
inTransaction = true;
}
/// <summary>
/// 提交事务
/// </summary>
public void CommitTransaction()
{
if(sqlTransaction != null)
sqlTransaction.Commit();
inTransaction = false;
}
/// <summary>
/// 回滚事务
/// </summary>
public void RollbackTransaction()
{
if(sqlTransaction != null)
sqlTransaction.Rollback();
inTransaction = false;
}
/// <summary>
/// 获取单一的对象引用
/// </summary>
/// <returns>SQLServer对象引用</returns>
public static SQLServer Instance()
{
if(sqlServer == null)
{
sqlServer = new SQLServer();
}
return sqlServer;
}
}