/// <summary>
/// 执行事务,执行多条sql语句,成功就全部成功,不成功就全部不成功
/// </summary>
public static bool UpDateByTransaction(List<string> strUpdate)
{
OracleConnection myConnection = new OracleConnection(connectionString);
OracleCommand myORACCommand = myConnection.CreateCommand();
try
{
myConnection.Open();
myORACCommand.Transaction = myConnection.BeginTransaction(); //开启事务
foreach (string str in strUpdate)
{
myORACCommand.CommandText = str;
myORACCommand.ExecuteNonQuery();
}
myORACCommand.Transaction.Commit(); //提交事务(同时还要自动清除事务)
return true; //如果事务执行成功,则返回true
}
catch (Exception ex)
{
if (myORACCommand.Transaction != null)
{
myORACCommand.Transaction.Rollback(); //事务执行失败,对事务进行回滚(并且自动清除事务)
}
throw new Exception("调用方法UpDateByTransaction(List<string> strUpdate)失败" + ex.Message);
}
finally
{
if (myORACCommand.Transaction != null)
{
myORACCommand.Transaction = null; myORACCommand.Transaction.Commit();
}
myConnection.Close();
}
}
C# 对事务的代码封装
最新推荐文章于 2024-01-21 13:00:09 发布