具体代码如下所示:
///<summary> ///启用事务提交多条带参数的SQL语句 ///</summary> ///<paramname="mainSql">主表SQL</param> ///<paramname="mainParam">主表对应的参数</param> ///<paramname="detailSql">明细表SQL语句</param> ///<paramname="detailParam">明细表对应的参数</param> ///<returns>返回事务是否成功</returns> publicstaticboolUpdateByTran(stringmainSql,SqlParameter[]mainParam,stringdetailSql,List<SqlParameter[]>detailParam) { SqlConnectionconn=newSqlConnection(connString); SqlCommandcmd=newSqlCommand(); cmd.Connection=conn; try { conn.Open(); cmd.Transaction=conn.BeginTransaction();//开启事务 if(mainSql!=null&&mainSql.Length!=0) { cmd.CommandText=mainSql; cmd.Parameters.AddRange(mainParam); cmd.ExecuteNonQuery(); } foreach(SqlParameter[]paramindetailParam) { cmd.CommandText=detailSql; cmd.Parameters.Clear(); cmd.Parameters.AddRange(param); cmd.ExecuteNonQuery(); } cmd.Transaction.Commit();//提交事务 returntrue; } catch(Exceptionex) { if(cmd.Transaction!=null) { cmd.Transaction.Rollback();//回滚事务 } //将异常信息写入日志 stringerrorInfo="调用UpdateByTran(stringmainSql,SqlParameter[]mainParam,stringdetailSql,List<SqlParameter[]>detailParam)方法时<brdata-filtered="filtered">发生错误,具体信息:"+ex.Message; WriteLog(errorInfo); throwex; } finally { if(cmd.Transaction!=null) { cmd.Transaction=null;//清空事务 } conn.Close(); } }
上述就是C#学习教程:C# 启用事务提交多条带参数的SQL语句实例代码分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/908148.html