数据库事务问题

firmbird 2002-09-13 10:39:22
dim cn as new connection
dim obj1 as recordset
dim obj2 as recordset
cn.open connectionstring
cn.begintrans
obj1.open sql,cn,3,1
do while not obj1.eof
obj2.open sql,cn,3,1 '////该行执行出错
loop
cn.rollbacktrans

为什么上面的语句执行到带注释的那一行时会出现"在手动或分布式事务情况下不能创建新的连接"的错误。
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
junwhj 2002-09-14
  • 打赏
  • 举报
回复
刚才说错了, 只要设置RecordSet为客户端即可

Dim cn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset

cn.Provider = "SQLOLEDB"
cn.Open "Driver={SQL Server};Server=Develop;Database=BE;Uid=SA;Pwd=;"
cn.BeginTrans

rs1.CursorLocation = adUseClient '*** 增加这一句 ***
rs1.Open "select top 10 style from mstyle", _
cn, _
adOpenForwardOnly, _
adLockReadOnly, _
adCmdText
Do While Not rs1.EOF
rs2.Open "select * from mstylecolor where style='" & rs1("style").Value & "'", _
cn, _
adOpenForwardOnly, _
adLockReadOnly, _
adCmdText
Debug.Print rs2("style").Value
rs2.Close
Set rs2 = Nothing
rs1.MoveNext
Loop
rs1.Close
Set rs1 = Nothing

cn.RollbackTrans
cn.Close
Set cn = Nothing

firmbird 2002-09-14
  • 打赏
  • 举报
回复
谢谢junwhj(junwhj.51.net),也谢谢其他各位朋友。呵呵,不过有几位朋友的理解能力稍为逊了一点^_^(怪我没把问题说清楚)
xdwlb 2002-09-13
  • 打赏
  • 举报
回复
楼上说得对!
ledy 2002-09-13
  • 打赏
  • 举报
回复
obj2不能重复open.
do while循环第一次时,obj2已经open....
junwhj 2002-09-13
  • 打赏
  • 举报
回复
cn.Provider="SQLOLEDB"
cn.Open "..."
....
firmbird 2002-09-13
  • 打赏
  • 举报
回复
呵呵,想写得快点,结果写成上面这样了,更正(不会连这几行也看不懂吧)


dim cn as new connection
dim obj1 as recordset
dim obj2 as recordset
cn.open "provider=sqloledb;data source=server;initial catalog=db;user id=uid;password=pwd"
cn.begintrans
obj1.open "select * from table1",cn,adOpenForwardOnly,adLockReadOnly
do while not obj1.eof
obj2.open "select * from table2",cn,adOpenForwardOnly,adLockReadOnly '////该行执行出错
obj1.movenext
loop
cn.rollbacktrans

为什么上面的语句执行到带注释的那一行时会出现"在手动或分布式事务情况下不能创建新的连接"的错误。
xixixi9988 2002-09-13
  • 打赏
  • 举报
回复
你写的是什么东西

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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