首页 新闻 会员 周边

关于嵌套事务的问题 如何解决

0
[已关闭问题]

using (TransactionScope scop = new TransactionScope())

{

    foreach(...)

    {

     //这里循环调用存储过程  存储过程中也有事务

    }

    scop.Complete();

}

这种嵌套事务结果报错了:                EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 1,当前计数 = 0

单独执行一条存储过程的话 是没有错误的``

问题补充: 不是的,存储过程是没有错误的 ,我在sql server单独执行存储过程时是没有错误的 成功执行的~!
轻清风的主页 轻清风 | 初学一级 | 园豆:200
提问于:2010-07-12 17:11
< >
分享
其他回答(1)
0

估计是执行存储过程的时候出错了,由于在调用代码中没有对异常的处理所以即使存储过程执行出错了,程序也会继续调用存储过程。

dege301 | 园豆:2825 (老鸟四级) | 2010-07-13 12:32
0

  我有碰到过,这种情况,也查了嵌套事物, 其实你只需在每个存储过程中提交你的这个事物即可.

  如果你想这几个存储过程用同一个事物,你最好在C#中加上事物即可.

  你不是想在不能的存储过程中用一个事物把

淡泊名利 | 园豆:181 (初学一级) | 2010-07-13 16:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册