标题:[求助]关于ADO。NET中的事务问题
只看楼主
小笨笨
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:1169
专家分:0
注 册:2006-4-17
得分:0 

还有一种办法,但是不好。

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
2006-05-03 17:01
witer
Rank: 1
等 级:新手上路
帖 子:165
专家分:0
注 册:2006-2-7
得分:0 
嗯在此先谢谢你咯!
2006-05-03 17:39
witer
Rank: 1
等 级:新手上路
帖 子:165
专家分:0
注 册:2006-2-7
得分:0 

笨笨姐加我QQ!!!!214650663有问题到时我再向你请教比较方便!!!!

2006-05-03 17:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-61695-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.657183 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved