找回密码
 加入
搜索
查看: 2566|回复: 2

[系统综合] 大家一起来解决Ado-Execute的一个难题!

[复制链接]
发表于 2009-12-9 01:19:47 | 显示全部楼层 |阅读模式
本帖最后由 dhlhmgc 于 2010-8-16 01:28 编辑

问题:
用ado组件的Execute函数功能更新数据后,希望得到具体更新了多少条记录!!
Dim $Cn1 = ObjCreate("Adodb.Connection")
Dim $CountRecord=0
With $Cn1
    .Provider = "Microsoft.Jet.OLEDB.4.0;"
    .ConnectionString = "Data Source=" & @ScriptDir & "\database.mdb;"
    .CursorLocation = 3                ;3=adUseClient
    .Open
    .Execute( "UPDATE [a] SET a1=1" , $CountRecord )
    .Close
EndWith
Msgbox ( 48, "message", "update RecordCount = " & $CountRecord )
但一直未能得到解决!!变量 $CountRecord 的值总是为零。

后在英文相关网站得到一些帮助信息, 按照COM事件捕获处理ADO ExecuteComplete事件
改为以下代码!
Dim $Cn1 = ObjCreate("Adodb.Connection")
$oAdoDbEvent = ObjEvent($Cn1, "_AdoDbEvent_")
Dim $CountRecord=0
With $Cn1
    .Provider = "Microsoft.Jet.OLEDB.4.0;"
    .ConnectionString = "Data Source=" & @ScriptDir & "\database.mdb;"
    .CursorLocation = 3                ;3=adUseClient
    .Open
    .Execute( "UPDATE [a] SET a1=1" , $CountRecord )
    .Close
EndWith
Msgbox ( 48, "message", "exit" )

Func _AdoDbEvent_ExecuteComplete($recaffected, $objerror, $status, $objcomm, $objrs, $objconn)
    MsgBox(64, "ADODB Event", "Execute Complete: recaffected = " & $recaffected)
EndFunc

;问题是一执行,什么提示也没有!!代码就已经执行完毕了,此问题始终没有得到很好的解决!
;肯请高手指点了!
;附英文网站图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-12-9 22:36:14 | 显示全部楼层
请使用最新版本 UserInclude\Access.au3 来操作mdb
应该会对你有帮助
发表于 2010-1-7 18:10:49 | 显示全部楼层
俺也
求解
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 01:18 , Processed in 0.087911 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表