码迷,mamicode.com
首页 > Windows程序 > 详细

12、c#中事务及回滚

时间:2016-03-18 21:38:54      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:

 1         public void UpdateContactTableByDataSet(DataSet ds, string strTblName)
 2         {
 3             try
 4             {
 5                 SqlDataAdapter myAdapter = new SqlDataAdapter();
 6                 SqlConnection conn = new SqlConnection("connection string");
 7                 SqlCommand myCommand = new SqlCommand("select * from strTblName", conn);
 8                 myAdapter.SelectCommand = myCommand;
 9                 SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
10 
11                 conn.Open();
12                 SqlTransaction myTrans = conn.BeginTransaction();
13                 myCommand.Transaction = myTrans;
14 
15                 try
16                 {
17                     myAdapter.Update(ds, strTblName);
18                     myTrans.Commit();
19                 }
20                 catch (Exception e)
21                 {
22                     try
23                     {
24                         myTrans.Rollback();//回滚并取消数据库的更新
25                     }
26                     catch (SqlException ex)
27                     {
28                         if (myTrans.Connection != null)
29                         {
30                             Console.WriteLine("回滚失败! 异常类型: " + ex.GetType());
31                         }
32                     }
33                 }
34                 finally
35                 {
36                     conn.Close();
37                 }
38 
39             }
40             catch (Exception ex)
41             {
42                 throw ex;
43             }
44         }

事务回滚主要用于提交失败。(lock)用于处理并发事件。

12、c#中事务及回滚

标签:

原文地址:http://www.cnblogs.com/wleaves/p/5293413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!