This SqlTransaction has completed; it is no longer usable。 C# 报出的错误,不解,望指教

z452096316z
推荐于2018-03-01
知道答主
回答量:20
采纳率:0%
帮助的人:11.8万
展开全部
This Transaction has completed; it is no longer usable根源分析

1 链接对象没有打开Transaction

如:XXXTransaction transaction=conn.BeginXXXTransaction();

2 在Command对象中未设置Transaction

可以在new XXXCommand(sqlStr,conn,transaction),也可以用XXXCommand对象的引用打开

com.XXXTransaction=transaction;

3 获取在本conn连接中参入了其他conn

例如:

OleDbConnection conn = DBUtilFactory.getConnection("Access");

updateStr = sb.ToString();
updateStr = updateStr.Substring(0, updateStr.LastIndexOf(",")) + " where id=" + id;
OleDbCommand com = new OleDbCommand(updateStr,conn,ts);
com.ExecuteNonQuery();
ts.Commit();
DataTable table = accessOper.sendData(conn,tableName, id);
dt.Merge(table, false, MissingSchemaAction.Ignore);
count++;

在调用accessOper.sendData()时,两次数据库操作的conn(链接对象)是同一个。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姚照青
2011-06-14 · TA获得超过3388个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:214万
展开全部
此SQL交易已经完成,它已不再可用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CompLiment_张
2011-06-14
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
it is no longer usable 错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式