8.2.1.6 微软 ADO

当您使用 ADO API 和连接器/ODBC 进行编码时,您需要注意一些 MySQL 服务器不支持的默认属性。例如,使用 CursorLocation Propertyas 为 adUseServer返回 −1 的结果RecordCount Property。要获得正确的值,您需要将此属性设置为 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 语句影响的行数,请使用RecordsAffected ADO 执行方法中的属性。execute方法的更多使用方法请参考 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcnexecute.asp

有关信息,请参阅 ActiveX 数据对象 (ADO) 常见问题解答