还有一种办法,但是不好。
SqlConnection myConn = new SqlConnection(str);
string sql1 = "update1";
string sql2 = "update2";
SqlTransaction myTrans;
SqlCommand mycommand = new SqlCommand();
myConn.Open();
mycommand.Connection = myConn;
myTrans = myConn.BeginTransaction();
mycommand.Transaction = myTrans;
try
{
mycommand.CommandText = sql1;
int icount1 = mycommand.ExecuteNonQuery();
mycommand.CommandText = sql2;
int icount2 = mycommand.ExecuteNonQuery();
if (icount2==0 || icount1==0)
{
myTrans.Rollback();
}
myTrans.Commit();
}
catch()
{
}
但这么写的话,如果update1或update2语句有问题的话,就不能回滚了,只能回滚它们都可以持行,但是其中一个所影响行数为0的情况时才回滚。
欢迎光临我的博客: http://smallfools.blog./default.html