zoukankan      html  css  js  c++  java
  • 数据库事务SqlTransaction

      最近准备做一个小系统,在对数据库数据的操作中用到了事务。

      事务是指在执行的一系列操作。事务处理可以确保除非本单元内的全部操作都成功完成,否则不会更新数据库中的数据。这一组操作要么全部成功要么全部失败,有操作失败时则不会向数据库中写入数据。一个单元要成为事务,必须满足原子性、一致性、隔离性和持久性。

      不多说,上代码

     1 public static int executeSqlNonQuery(string str, params SqlParameter[] paras)
     2         {
     3             int result = -1;
     4             using (SqlConnection conn = new SqlConnection(conStr))
     5             {
     6                 using (SqlCommand comm = conn.CreateCommand())
     7                 {
     8                     //开始一个事务
     9                     using (SqlTransaction tran = conn.BeginTransaction())
    10                     {
    11                         if (paras != null)
    12                         {
    13                             comm.Parameters.Clear();
    14                             comm.Parameters.AddRange(paras);
    15                         }
    16                         
    17                         //指定SqlCommand对象的事务为tran
    18                         comm.Transaction = tran;
    19 
    20                         conn.Open();
    21                         comm.CommandText = str;
    22                         try
    23                         {
    24                             result = comm.ExecuteNonQuery();
    25                             //如果正常执行则提交事务
    26                             tran.Commit();
    27                         }
    28                         catch
    29                         {
    30                         //如果发生异常则回滚事务
    31                             tran.Rollback();
    32                         }
    33                     }
    34                 }
    35             }
    36             return result;
    37         }

      如果成功执行SQL命令则提交事务,在执行SQL语句的过程中如有异常则被捕获并且回滚事务,将不会对数据库中的数据产生任何的影响。

     

     

  • 相关阅读:
    Set,List,Map的区别
    阅读笔记15
    阅读笔记14
    阅读笔记13
    阅读笔记12
    阅读笔记11
    阅读笔记10
    架构漫谈读后感
    阅读笔记1
    暑期周记8
  • 原文地址:https://www.cnblogs.com/g1mist/p/3041063.html
Copyright © 2011-2022 走看看