|
本帖最后由 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
;问题是一执行,什么提示也没有!!代码就已经执行完毕了,此问题始终没有得到很好的解决!
;肯请高手指点了!
;附英文网站图片
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
|