zoukankan      html  css  js  c++  java
  • 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)用于处理并发事件。

  • 相关阅读:
    ansible tower
    gitlab说明书
    新建系统配置
    docker&k8s-配置/常用命令
    Winscp隧道实现-跳板机/跨机连接
    FDM, FVM, FEM
    批量处理文件
    未来的职业规划
    内心两大矛盾
    MATLAB在Linux下的安装方法(待尝试)
  • 原文地址:https://www.cnblogs.com/felix-wang/p/6723981.html
Copyright © 2011-2022 走看看