-
ADO.NET 方式加事务
public DataTable GetUsers()
{
SqlTransaction trans = null;
SqlConnection con = new Sqlconnection("数据库连接语句");
try
{
con.Open();
trans = con.BeginTransaction();
SqlCommand com = new SqlCommand();com.CommandText = @"数据库语句 条件=@变量";
SqlParameter para = new SqlParameter("变量","值");
com.Parameters.Add(para);
com.CommandText=com.CommandText;com.Connection=con;
com.Transaction=trans;
com.ExecuteNonQuery();//执行方式自己选择
trans.Commit();//执行提交事务}catch
{
trans.Rollback();//如果前面有异常则事务回滚
}
finally
{
con.Close();
}
}2.企业库方式加事务
Database db = CreateDatabase();
SqlConnection con = new Sqlconnection("数据库连接语句");
SqlTransaction trans = connection.BeginTransaction();
result = db.ExecuteNonQuery(command, trans)
企业库封装方法
public virtual int ExecuteNonQuery(DbCommand command, DbTransaction transaction);
问题:
1.企业库的方式是不是我们只需传入事务对象 事务的提交和回滚它会帮我们自动完成 是否是将其封装到ExecuteNonQuery(command, trans)这个方法内部了 如果不是这样 那么为什么要传入一个事务对象 以及是否在返回结果后自动帮我们关闭连接释放资源
2.如果企业库没有帮我们自动完成事务的提交与回滚,那么我们要加事务的话还得想ADO.NET的方式在ExecuteNonQuery(command, trans)这个方法调用后 再添加提交事务和回滚事务的代码 该怎么写