ADO.NET事务处理

来源:互联网 发布:司法拍卖淘宝网. 编辑:程序博客网 时间:2024/06/06 03:42

1。使用存储过程事务处理
2。使用SqlTransaction 类
SqlConnection conn = new SqlConnection("Data Source=192.168.1.105;uid=sa; password=sa;database = kaiyuan");
   conn.Open();
   //启用事务
   SqlTransaction tran = conn.BeginTransaction();
   SqlCommand cmd = new SqlCommand();
   cmd.Connection = conn;
   cmd.Transaction = tran;
   try
   {
    cmd.CommandText = "UPDATE SH_Material Set MaterialCode='25' WHERE ID = 25";
    cmd.ExecuteNonQuery();
    cmd.CommandText = " UPDATE SH_Material Set MaterialCode='new' WHERE ID = 26  ";
    cmd.ExecuteNonQuery();
     tran.Commit();
    MessageBox.Show("事务提交成功!");
   }
   catch(Exception ex)
   {
       tran.Rollback();
    MessageBox.Show("Error!"+ex.Message);
   }
   finally
  {
      conn.Close();
  }
 
 

如果在sql语句中写BEGIN TRANSACTION  , COMMIT TRANSACTION是不会有作用的
   sql="BEGIN TRANSACTION \r\n"
    +sql+" \r\n"
    +"COMMIT TRANSACTION";

原创粉丝点击