MySQL 连接器/ODBC 开发人员指南 / 第 8 章连接器/ODBC 注释和提示 / 8.2 连接器/ODBC 应用程序特定提示 / 8.2.1 在 Microsoft 应用程序中使用连接器/ODBC /
8.2.1.6 微软 ADO
当您使用 ADO API 和连接器/ODBC 进行编码时,您需要注意一些 MySQL 服务器不支持的默认属性。例如,使用
CursorLocation Property
as 为
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) 常见问题解答。