C#實現資料回滾,A事件和B事件同時執行,其中任何一個事件執行失敗,都會返回失敗
阿新 • • 發佈:2018-12-18
/// <summary> /// 執行資料庫回滾操作,用於sql語句執行失敗後,恢復執行前的資料 /// </summary> /// <param name="TableName">目標表</param> /// <param name="dt">源資料</param> public static int RollBack(string strSql) { SqlConnection conn = new SqlConnection(connectionString);//例項化資料連 conn.Open();//開啟資料庫連線 SqlCommand command = conn.CreateCommand(); SqlTransaction transaction = null; transaction = conn.BeginTransaction(); command.Connection = conn; command.Transaction = transaction; int count = 0; try { if (strSql != "") { command.CommandText = strSql; count = command.ExecuteNonQuery(); } transaction.Commit(); } catch { transaction.Rollback(); } finally { conn.Close();//關閉資料庫連線 } return count; }