ADO 中如何判断 connection 对象有没有执行过 BeginTrans ?

frogdan 2005-07-12 08:02:16
程序如下:

Sub Test
On Error Goto Error_Handle
...(A)
oCN.BeginTrans
...(B)
oCN.CommitTrans
Exit Sub
Error_Handle:
...(C)
oCN.RollbackTrans
End Sub

问题是如果在 A 程序段已经出现了错误,那 RollbackTrans 将会出现错误,能不能在 C 程序段加入检测,看 connection 是否有未提交的事务呢?
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
frogdan 2005-07-15
  • 打赏
  • 举报
回复
谢谢各位的回复!

我原本是希望看看能不能找到 connection 对象的一个属性或方法来判断。

看 ADO 的文档没有发现,就想上来问问看有没有新发现。

还是老老实实地自己加个标志好,呵呵
chenyu5188 2005-07-12
  • 打赏
  • 举报
回复
呵呵自己加个标志!用boolean型的变量!
ShaLongBus 2005-07-12
  • 打赏
  • 举报
回复
这样比较简单:

Sub Test
On Error Goto Error_Handle
...(A)
10 oCN.BeginTrans
...(B)
oCN.CommitTrans
Exit Sub
Error_Handle:
...(C)
if erl=10 then
oCN.RollbackTrans
end if
End Sub
还想懒够 2005-07-12
  • 打赏
  • 举报
回复
...(C)
oCN.RollbackTrans

似乎没有什么好办法,不如在C处加上一句On Error Resume Next
supergreenbean 2005-07-12
  • 打赏
  • 举报
回复
土办法,oCN.CommitTrans后面加个标志fTransCommitted=True,oCN.RollbackTrans前面加上If fTransCommitted Then

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧