C# 數據事務操作

public sealed class SQLFunc  {

  #region Methods

  #region OpenConnection

  /// <summary>指定包含連接字串的字串時,初始化 System.Data.SqlClient.SqlConnection 類別的新執行個體,並開啟資料庫連接。</summary>   /// <param name="connectionString">用來開啟 SQL Server 資料庫的連接。</param>   /// <returns></returns>   public static SqlConnection OpenConnection(string connectionString)   {    SqlConnection connection = new SqlConnection(connectionString);    connection.Open();    return connection;   }

  #endregion

  #region 開始交易 StartTransaction

  /// <summary>開始交易</summary>   /// <param name="connStr"></param>   /// <param name="tran"></param>   /// <returns></returns>   public static int StartTransaction(string connStr, Func<SqlTransaction, int> tran)   {    int result = 0;    using (SqlConnection conn = OpenConnection(connStr))    using (SqlTransaction transaction = conn.BeginTransaction())    {     try     {      result = tran.Invoke(transaction);     }     catch (Exception ex)     {      result = -1;      ErrorHandle.SaveCatch(HttpContext.Current, ex);     }     if (result > 0)     {      transaction.Commit();     }     else     {      transaction.Rollback();     }    }    return result;   }

  #endregion

  #endregion

 }

調用方法

 k = SQLFunc.StartTransaction(DBList.LionGroupCMS, tran =>
       {

執行內容

});

原文地址:https://www.cnblogs.com/qhy1277/p/4686222.html