如何判断execute方法是否执行成功呢?

qyqmhh 2005-03-06 08:57:25
对于ado,如何判断recordset or connection 的 execute方法是否执行成功呢?
我要根据执行是否成功来确定下一步执行什么代码?
...全文
877 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
szuzh 2005-04-30
  • 打赏
  • 举报
回复
如果connect对象的execute方法有返回值的话,也是可以解决的;
而对于其他的数据库连接对象来说,不知道在后台数据库、连接速度和数据库配置上有没有什么讲究?
szuzh 2005-04-29
  • 打赏
  • 举报
回复
对于插入操作来说,利用"数据库操作错误"来判断是否成功可以;
但是对于删除操作来说,对于这样的语句"delete from test where id = 10000",
由于表test中ID=10000的记录根本就布存在,但是执行以后没有错误。
请问各位高手,怎么判断删除成功了呢??
szuzh 2005-04-29
  • 打赏
  • 举报
回复
对于插入操作来说,利用"数据库操作错误"来判断是否成功可以;
但是对于删除操作来说,对于这样的语句"delete from test where id = 10000",
由于表test中ID=10000的记录根本就布存在,但是执行以后没有错误。
请问各位高手,怎么判断删除成功了呢??
qyqmhh 2005-03-07
  • 打赏
  • 举报
回复
想再了解一下,有没有更好办法。
晚上一定结贴。给分.
qyqmhh 2005-03-06
  • 打赏
  • 举报
回复
谢谢你,机器猫,我试一下,
其实我觉得就算语句是正确的,如果当时网络出现问题,造成增加不成功时,也应该判断出来
不知我的理解对否?
再次感谢你对我的支持
yorkness 2005-03-06
  • 打赏
  • 举报
回复
问题在于:只要语句没有错误,execute方法肯定能增加成功,那还有不成功之理?不成功那肯定是哪出错了。要不,用On error 语句?

On error goto Err
'execute语句
on error goto 0
exit sub
Err:
MsgBox "操作失败!", vbCritical + vbOKOnly
end sub
qyqmhh 2005-03-06
  • 打赏
  • 举报
回复
up
qyqmhh 2005-03-06
  • 打赏
  • 举报
回复
我的意思是:比如说增加一条记录到sql server的一个表中,我通过execute方法,可是增加是否成功,我要判断一下呀!成功了可以没有提示,如果没有增加成功则可以给用户一个提示,"增回未成功",如果用事务太麻烦了,能否有简单的办法.
期待回复.谢了.
yorkness 2005-03-06
  • 打赏
  • 举报
回复
不知道是啥意思,如果你说的是因为错误而执行不成功可以用创建一个事务来实现

Dim CNN As New ADODB.Connection
If CNN.State Then CNN.Close
With CNN
.ConnectionString = Conn_str 'Conn_str为链接字符串
.CursorLocation = adUseClient
.CommandTimeout = 10
.Open
End With

CNN.BeginTrans
'你的execute语句
If CNN.Errors.count <> 0 Then '出错
MsgBox "数据库操作错误", vbCritical + vbOKOnly
CNN.RollbackTrans
'放置失败指令
else '执行成功
CNN.CommitTrans '提交事务
'放置成功指令
end if

7,763

社区成员

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

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