C#中事务挂起的问题 求帮助

SqlHelper类中:
方法A为:public int ExecuteNonQuery(string sql){} //(用作增删改)
方法B为:public DataTable ExecuteDataTable(string sql){} //(用作查询)

在方法A中调用或者方法A中的方法调用了方法B,则会报:该事务已挂起的错误

请问:如果我一定要这样做的话,该怎么去处理这个错误???

8个回答

创建2个DB,事务就不会冲突

两个方法是不是使用了同一个transaction。

普通的增删改和,查询, 怎么会报告事务问题呢

huyu123333333
huyu123333333 嗯哼
一年多之前 回复

估计是执行方法A的时候锁表了,然后执行不了查询吧。。。。

可能是你执行的时候没有关闭连接,在执行一个时就要关闭,再次执行时要开启,执行完后就关闭。如果需要在同一事务中执行可以用同一个SqlConnection 对象, SqlConnection对象中把事务开启后,就会在同一个事务中执行。

两个方法是不是使用了同一个transaction。你执行其中一个方法的时候没有关闭连接。

一边增删改,一边同时查询,这样查的结果是不准确的,所以用到了事务。而你非要事务交叉,你这安的什么心?道不同,不相为谋。

如果是同一个数据库,同一个表的话 事务会将表进行锁定,知道你提交了事务之后才执行下一个事务开启。你可以定义一个全局事务参数,一起来使用
不开2个事务,事务可以支持多个提交的,但是你的SQLconn连接不一样的话就要开2个事务了因为数据库不同了,两个事务是不相干的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!