MySQL Connector/ODBC 发行说明
当您使用 ADO API 和 Connector/ODBC 编码时,需要注意一些 MySQL 服务器不支持的默认属性。例如,将 CursorLocation 属性
设置为 adUseServer
会导致 RecordCount 属性
返回 -1。为了获得正确的值,您需要将此属性设置为 adUseClient
,如以下 VB 代码所示
Dim myconn As New ADODB.Connection
Dim myrs As New Recordset
Dim mySQL As String
Dim myrows As Long
myconn.Open "DSN=MyODBCsample"
mySQL = "SELECT * from user"
myrs.Source = mySQL
Set myrs.ActiveConnection = myconn
myrs.CursorLocation = adUseClient
myrs.Open
myrows = myrs.RecordCount
myrs.Close
myconn.Close
另一种解决方法是使用 SELECT COUNT(*)
语句来获取类似查询的正确行数。
要在 ADO 中查找受特定 SQL 语句影响的行数,请在 ADO execute 方法中使用 RecordsAffected
属性。有关 execute 方法用法的更多信息,请参阅 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcnnexecute.asp。
有关信息,请参阅 ActiveX 数据对象 (ADO) 常见问题解答。