代码改变世界

ado.net 执行原生数据库事务

2022-03-11 21:18  idea555  阅读(45)  评论(0)    收藏  举报

#region 访问数据库,执行赠送操作,并设置返回值

if (!ErrorInfo.Status)
{
DataConnection tempDataConnection = new DataConnection();
try
{
tempDataConnection.OpenSQLConnect();

tempDataConnection.BeginTransaction();

string sqlText = "Update [TRFinanceCCS].dbo.CashCouponInfo Set UserInfoCode = @ReceiverUserInfoCode " +
"WHERE CashCouponInfoCode = @CashCouponInfoCode " +
" " +
"Insert Into [TRFinanceCCS].dbo.CashCouponDonateRecord (CashCouponInfoCode, DonorUserInfoCode, ReceiverUserInfoCode, CreateTime) " +
"values (@CashCouponInfoCode, @DonorUserInfoCode, @ReceiverUserInfoCode, @CreateTime) ";

tempDataConnection.ClearParameter();
tempDataConnection.AppendParameter("@CashCouponInfoCode", cashCouponInfoCode);
tempDataConnection.AppendParameter("@DonorUserInfoCode", userInfoCode);
tempDataConnection.AppendParameter("@ReceiverUserInfoCode", userInfo.UserInfoCode);
tempDataConnection.AppendParameter("@CreateTime", DateTime.Now);

tempDataConnection.CommandType = CommandType.Text;
tempDataConnection.CommandText = sqlText;

tempDataConnection.ExecuteNonQuery();

tempDataConnection.CommitTransaction();

returnValue = true;
}
catch (Exception ex2)
{
tempDataConnection.RollbackTransaction();
returnValue = false;

ErrorInfo.Set(ex2.Message,
MethodBase.GetCurrentMethod(),
EnumErrorCategory.Error);
}
finally
{
tempDataConnection.CloseSQLConnect();
}
}

#endregion