您好,登錄后才能下訂單哦!
這篇文章主要介紹C#如何啟用事務提交多條帶參數的SQL語句,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體代碼如下所示:
/// <summary> /// 啟用事務提交多條帶參數的SQL語句 /// </summary> /// <param name="mainSql">主表SQL</param> /// <param name="mainParam">主表對應的參數</param> /// <param name="detailSql">明細表SQL語句</param> /// <param name="detailParam">明細表對應的參數</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 = "調用UpdateByTran(string mainSql, SqlParameter[] mainParam,string detailSql ,List <SqlParameter []>detailParam)方法時<br data-filtered="filtered">發生錯誤,具體信息:" + ex.Message; WriteLog(errorInfo); throw ex; } finally { if (cmd.Transaction != null) { cmd.Transaction = null;//清空事務 } conn.Close(); } }
以上是“C#如何啟用事務提交多條帶參數的SQL語句”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。