VB中怎么进行事物处理!

lindqp 2001-12-19 06:58:41
请给段代码,谢谢!
...全文
178 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxy_ll 2001-12-20
  • 打赏
  • 举报
回复
lindqp:
不管你更新多少表,把语句放到cn.BeginTrans和cn.CommitTrans中间就行了!
再不成看看MSDN,ADO主题一切搞定!

sftime 2001-12-20
  • 打赏
  • 举报
回复
没懂!
lindqp 2001-12-20
  • 打赏
  • 举报
回复
问题解决了,谢谢
现在给分!
晒屁屁 2001-12-20
  • 打赏
  • 举报
回复
ListGrid2????没事件或属性吗
lindqp 2001-12-20
  • 打赏
  • 举报
回复
strsql = "update libinfo set libnum=libnum-1 where libnum>0 and bookid='" & sid.Text & "'"
sql = "insert into lendbook(userid,bookid,lendtime) values ('" & _
sid.Text & "','" & bid.Text & "',#" & Date & "#)"
On Error GoTo err
conn.BeginTrans
conn.Execute strsql
conn.Execute sql
conn.CommitTrans
ListGrid2
Exit Sub
err:
conn.RollbackTrans
MsgBox "借书失败!", vbOKOnly, "警告!"
请问我这里是那里错了,请指教!
Ranma_True 2001-12-20
  • 打赏
  • 举报
回复
private sub DataDo()
on error goto errorhandler
'其他代码
......
TransStart:
PubConnect.BeginTrans '开始新事务
On Error GoTo DoTransError
更新表1
更新表2
更新表3
........
PubConnect.CommitTrans '保存事务中的操作
On Error GoTo errorhandler

ExitProc:
Exit Sub
DoTransError:
PubConnect.RollbackTrans
Dim tstrTmp As String
tstrTmp = Err.Description & vbCrLf & vbCrLf & "数据读写错误,请重试,取消放弃存储"
If MsgBox(tstrTmp, vbRetryCancel Or vbCritical) = vbRetry Then
Resume TransStart:
Else
' XtErrMsg = 1
Resume ExitProc
End If


errorhandler:

ilfsm 2001-12-20
  • 打赏
  • 举报
回复
private sub subname()
on error goto H_Err
cn.begintrans
.
.
.
.
(各类添加、更新、删除操作)
cn.committrans
exit sub
H_Err:
cn.rollbacktrans
msgbox err.description
end sub
lindqp 2001-12-20
  • 打赏
  • 举报
回复

我试试
hx 2001-12-20
  • 打赏
  • 举报
回复
听不明白。。。。。????
vbboygirl 2001-12-19
  • 打赏
  • 举报
回复

cn.BeginTrans
操作1
操作2
...

成功 cn.CommitTrans

失败 cn.RollbackTrans
T2 2001-12-19
  • 打赏
  • 举报
回复
不管是几个表的更新操作,只要放入一个事务中都可进行提交和回滚.
nikychen 2001-12-19
  • 打赏
  • 举报
回复
不过vb中是单事务处理,使用中注意回滚问题
lindqp 2001-12-19
  • 打赏
  • 举报
回复
不是啊
我要更新多个表的数据,如果出错,则要ROLLBACK
cxy_ll 2001-12-19
  • 打赏
  • 举报
回复
是说ADO吗?
Dim Cnn As New ADODB.Connection
'Init The Cnn Object
.
.
.
Cnn.BeginTran'开始事务处理
.
.
.
cnn.Commit( or RollBack)’提交或回滚事物
可以参考以下帖子:
http://www.csdn.net/expert/topic/247/247887.shtm
rushing 2001-12-19
  • 打赏
  • 举报
回复
是消息处理吧?

Private sub form_click()

msgbox "click"

end sub

7,763

社区成员

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

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