| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6070 人关注过本帖
标题:此 SqlTransaction 已完成;它再也无法使用。
取消只看楼主 加入收藏
hhy420459674
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:203
专家分:179
注 册:2010-4-9
结帖率:54.9%
收藏
已结贴  问题点数:0 回复次数:3 
此 SqlTransaction 已完成;它再也无法使用。
我用了事物, SqlConnection con = datacon.createEMail();
        con.Open();
        SqlCommand cmd = new SqlCommand();
        SqlTransaction trans;
        trans = con.BeginTransaction(IsolationLevel.ReadCommitted);
        cmd.Connection = con;
        cmd.Transaction = trans;
try
{
    //先有个Insert,向数据表中添加数据
    //然后接连有3个循环,也向数据表中循环添加数据
    //完成后,();
}
catch ()
{
    trans.Rollback();
}

但是结果,红色部分却报错说:此SqlTransaction 已完成;它再也无法使用。
我看了下,我的第一个Insert是成功了的,后面的连续三个for循环里面一个都没有成功!

请问下  是怎么回事啊?我百度了下,但是都没有得到解决!
搜索更多相关主题的帖子: 数据表 
2011-01-04 17:31
hhy420459674
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:203
专家分:179
注 册:2010-4-9
收藏
得分:0 
回复 2楼 wangnannan
谢谢bz哈,照你的方法我已经搞定了,我想问问   是不是只要用了事物,用了try{}catch{}来抛异常的话就不用rollBack()了吗?有错会自动回滚,是这样子的么?
2011-01-05 08:45
hhy420459674
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:203
专家分:179
注 册:2010-4-9
收藏
得分:0 
现在的情况是:如果加上trans.Rollback();则每一个都不会执行成功的,现在去掉了那句,就正确了!
2011-01-05 09:26
hhy420459674
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:203
专家分:179
注 册:2010-4-9
收藏
得分:0 
回复 7楼 makebest
我就是要这样子的效果,现在也已经是那样子的效果了!
2011-01-05 09:51
快速回复:此 SqlTransaction 已完成;它再也无法使用。
数据加载中...
 
   



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

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