MySQL Connector/ODBC 發行說明
當您使用 ADO API 和 Connector/ODBC 進行程式設計時,您需要注意 MySQL 伺服器不支援的一些預設屬性。例如,將 CursorLocation Property
作為 adUseServer
會針對 RecordCount Property
傳回 -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) 常見問題。