怎么保证他们要么都成功,要么都失败
--用事务来处理,失败一起RollBack如何知道更新数据库影响记录的数量?
--ExecuteNonQuery()
--用事务来处理,失败一起RollBack如何知道更新数据库影响记录的数量?
--ExecuteNonQuery()
解决方案 »
- winform设置系统时间
- Farpoint的每页的行数汇总。有朋友知道吗?
- c# winform 里插进web浏览器功能,web页和form窗体之前怎么传输数据
- c#.net怎么让一个子窗口一直显示在其他子窗口前面
- .net的msdn不可以用了,只出现个空架子,里面什么内容也没有,这个问题该如何解决?
- 运行DOS程序的问题
- 怎么直接传递控件的拥有者信息到函数内部?
- 求助 C# 线程
- 簡單提問;int 與 string互換用哪兩個函數??是哪個類里??還有OleDbDataReader得到數據後怎樣得到其中表的紀錄個數??立即加分
- C# 有什么办法可以实现模拟鼠标
- 打上 SP2 后,在 VS.NET 中生成部署项目时出现“不可恢复的生成错误”
- 异常详细信息: System.InvalidOperationException: .Net 数据 SQL 提供程序(System.Data.SqlClient)要求 Microsoft 数据访问组件(MDAC) 2
/// 执行多个SQL语句
/// </summary>
/// <param name="sqlArray">动态数组:需要执行的多个SQL语句</param>
public static bool RunMultiSQL(System.Collections.ArrayList sqlArray)
{
if(sqlArray.Count < 1) return true; bool success = false; SqlConnection tmpConn = Common.MySettings.MyConn;
SqlCommand tmpCmm = new SqlCommand();
tmpCmm.Connection = tmpConn;
tmpConn.Open(); SqlTransaction tmpTrans = tmpConn.BeginTransaction();
tmpCmm.Transaction = tmpTrans;
try
{
for(int i=0;i<sqlArray.Count;i++)
{
tmpCmm.CommandText = sqlArray[i].ToString();
tmpCmm.ExecuteNonQuery();
} tmpTrans.Commit(); success = true;
Common.ShowMsg("保存成功!");
}
catch(System.Exception ex)
{
tmpTrans.Rollback();
Common.ShowMsg("保存失败!");
Common.ShowMsg(ex.ToString());
}
finally
{
tmpTrans.Dispose();
tmpConn.Close();
}
return success;
}
至于执行一条更新受影响的记录数 int tmp = tmpCmm.ExecuteNonQuery();就可以了