ADO.Net事务处理

SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多个任务绑定在一起,如果所有的任务成功,就提交事务,如果有一个任务失败,就讲滚回事务.ADO.Net事务通过该Transaction类实现,每个.Net Framework 数据提供程序都有自己的Transaction 类执行事务.例如,事务在SQL Server数据库中执行,则需要引入System.Data.Sqlclient命名空间,对应的事务对象为SQLTransaction.

 

执行ADO.Net事务包含四个步骤,接下来以SQLTransaction对象为例介绍:

 

1:调用SqlConnection对象的BeginTransaction()方法,创建一个SqlTransaction对象标记事务开始

2:将创建的SqlTransaction对象分配给要执行的SqlCommand的Transaction属性
3:调用想对应的方法执行SQLCommand命令
4:调用SqlTransaction的Commit()方法完成事务,或者调用Rollback()方法终止事务

(注意事项:在调用BeginTransaction()方法开始事务之前,要打开数据库连接,否则将出现异常)
SqlTransaction trans = null;
SqlConnection con = new Sqlconnection("数据库连接语句");
try
{
  con.Open();
  trans = con.BeginTransaction();
  SqlCommand com = new SqlCommand();
  //一下4步是要执行SqlParameter,如果不执行可以直接跳过使用com.CommandText="SQL语句";
  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();
}

猜你喜欢

转载自www.cnblogs.com/Xanthus/p/9589519.html