• 12、c#中事务及回滚


     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)用于处理并发事件。

  • 相关阅读:
    构造函数、原型、实例化对象
    JS闭包的理解
    JQuery知识点
    面向对象
    学习使用Vuex
    Runtime详解
    ffmpeg各结构体之间关联 ---- AVPacket
    AVFrame
    block的底层原理
    performSelector
  • 原文地址:https://www.cnblogs.com/wleaves/p/5293413.html
Copyright © 2020-2023  润新知