1. 程式人生 > >C#實現資料回滾,A事件和B事件同時執行,其中任何一個事件執行失敗,都會返回失敗

C#實現資料回滾,A事件和B事件同時執行,其中任何一個事件執行失敗,都會返回失敗

 

/// <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;
}