C# 啟用事務提交多條帶參數(shù)的SQL語句實例代碼
更新時間:2018年02月28日 10:48:13 作者:liyanzhao
這篇文章主要介紹了C# 啟用事務提交多條帶參數(shù)的SQL語句實例代碼,需要的朋友可以參考下
具體代碼如下所示:
/// <summary>
/// 啟用事務提交多條帶參數(shù)的SQL語句
/// </summary>
/// <param name="mainSql">主表SQL</param>
/// <param name="mainParam">主表對應的參數(shù)</param>
/// <param name="detailSql">明細表SQL語句</param>
/// <param name="detailParam">明細表對應的參數(shù)</param>
/// <returns>返回事務是否成功</returns>
public static bool UpdateByTran(string mainSql, SqlParameter[] mainParam, string detailSql, List<SqlParameter[]> detailParam)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
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[] param in detailParam)
{
cmd.CommandText = detailSql;
cmd.Parameters.Clear();
cmd.Parameters.AddRange(param);
cmd.ExecuteNonQuery();
}
cmd.Transaction.Commit();//提交事務
return true;
}
catch (Exception ex)
{
if (cmd.Transaction != null)
{
cmd.Transaction.Rollback();//回滾事務
}
//將異常信息寫入日志
string errorInfo = "調(diào)用UpdateByTran(string mainSql, SqlParameter[] mainParam,string detailSql ,List <SqlParameter []>detailParam)方法時<br data-filtered="filtered">發(fā)生錯誤,具體信息:" + ex.Message;
WriteLog(errorInfo);
throw ex;
}
finally
{
if (cmd.Transaction != null)
{
cmd.Transaction = null;//清空事務
}
conn.Close();
}
}
總結(jié)
以上所述是小編給大家介紹的C# 啟用事務提交多條帶參數(shù)的SQL語句,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
基于C#的UDP協(xié)議的同步通信實現(xiàn)代碼
本篇文章主要介紹了基于C#的UDP協(xié)議的同步實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
C#調(diào)用非托管動態(tài)庫中的函數(shù)方法
這篇文章主要介紹了C#調(diào)用非托管動態(tài)庫中的函數(shù)方法,本文講解創(chuàng)建一個非托管動態(tài)庫,然后在C#中調(diào)用它,需要的朋友可以參考下2015-02-02

