我在MySQL数据库上运行异步ADODB命令:
Public Sub TestRecordsAffected()
Dim rs_newCommand As ADODB.Command
Set rs_newCommand = New ADODB.Command
rs_newCommand.CommandTimeout = EXTERNAL_QUERY_TIMEOUT
rs_newCommand.CommandText = "update tbl_testrecords SET valueB = 2 WHERE valueA = 2"
rs_newCommand.CommandType = adCmdText
rs_newCommand.ActiveConnection = Ext_NewConnection
Dim lng_recordsAffected As Long
rs_newCommand.Execute lng_recordsAffected
Debug.Print lng_recordsAffected
rs_newCommand.CommandText = "update tbl_testrecords SET valueB = 1 WHERE valueA = 2"
rs_newCommand.Execute lng_recordsAffected, , adAsyncExecute
Sleep 1000
Debug.Print lng_recordsAffected
End Sub
第一次执行(非异步)将打印3,之后执行-1以查看受影响的记录。
根据MSDN,当异步执行查询时,可能无法填充记录受影响的变量。是否有其他方法可以返回受影响的记录?
亲切的问候 巴斯蒂安