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 =>
{
執行內容
});