public class BaseDao : DbHelperSQL
{
public BaseDao()
{
}
public BaseDao(SqlTransaction stran)
{
this.Transaction = stran;
}
private SqlTransaction _transaction;
/// <summary>
/// 事务
/// </summary>
public SqlTransaction Transaction
{
get
{
return this._transaction;
}
set
{
this._transaction = value;
}
}
/// <summary>
/// 创建事务对象
/// </summary>
/// <returns></returns>
public SqlTransaction BeginTransaction()
{
SqlConnection conn = ConnectionHelper.instance().GetConnection();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlTransaction stran = null;
try
{
stran = conn.BeginTransaction();
}
catch (Exception)
{
if (conn != null)
ConnectionHelper.instance().Remove(conn);
}
return stran;
}
/// <summary>
/// 提交事务
/// </summary>
public void Commit()
{
if (this.Transaction != null)
{
SqlConnection conn = this.Transaction.Connection;
this.Transaction.Commit();
if (conn != null)
ConnectionHelper.instance().Return(conn);
}
}
/// <summary>
/// 事务回滚
/// </summary>
public void Rollback()
{
if (this.Transaction != null)
{
SqlConnection conn = this.Transaction.Connection;
if (conn != null)
this.Transaction.Rollback();
if (conn != null)
ConnectionHelper.instance().Return(conn);
}
}
public int ExecuteQuery(string strSQL)
{
return this.ExecuteQuery(this.Transaction, strSQL);
}
public int ExecuteQuery(string strSQL, SqlParameter[] param)
{
return this.ExecuteQuery(this.Transaction, strSQL, param);
}
public object ExecuteQueryScalarObject(string strSQL)
{
return this.ExecuteQueryScalarObject(this.Transaction, strSQL);
}
public object ExecuteQueryScalar(string strSQL)
{
return this.ExecuteQueryScalar(this.Transaction, strSQL);
}
public object ExecuteQueryScalar(string strSQL, SqlParameter[] param)
{
return this.ExecuteQueryScalar(this.Transaction, strSQL, param);
}
public DataSet ReturnDataSet(string strSQL)
{
return this.ReturnDataSet(this.Transaction, strSQL);
}
public DataSet ReturnDataSet(string strSQL, string TableName)
{
return this.ReturnDataSet(this.Transaction, strSQL, TableName);
}
public DataSet ReturnDataSet(string storedProcedureName, params SqlParameter[] commandParameters)
{
return this.ReturnDataSet(this.Transaction, storedProcedureName, commandParameters);
}
public SqlDataReader ReturnDataReader(string strSQL)
{
return this.ReturnDataReader(this.Transaction, strSQL);
}
}