【发布时间】:2017-06-03 02:17:31
【问题描述】:
我正在使用 ADO Recorset 访问 MySQL 表,但是 ADO Recordset 不返回记录。我在 Visual Studio 中使用 VB.NET。我可以通过连接对象(如下)与数据库建立通信,建立连接,创建表,但是在通过 Recordset 返回信息时,会出错。
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim fld As ADODB.Field
Dim aux As String
aux = "Provider = MSDASQL;Driver={MySQL ODBC 5.2 ANSI Driver}; Server=localhost; Database = db-teste; User=root; Password=123456; Option=3;"
conn.Open(aux)
'create table
conn.Execute("DROP TABLE IF EXISTS my_ado")
conn.Execute("CREATE TABLE my_ado(id int Not null primary key, name varchar(20)," &
"txt text, dt date, tm time, ts timestamp)")
'insert
conn.Execute("INSERT INTO my_ado(id,name,txt) values(1,100,'venu')")
conn.Execute("INSERT INTO my_ado(id,name,txt) values(2,200,'MySQL')")
'============================================================================
' UNTIL HERE, IT WORKS FINE!
'============================================================================
' This does not get anything
rs.Open("SELECT * FROM my_ado", conn)
rs.MoveFirst()
' RecordCount always returns "-1" <<<<<<====================
Debug.Print(Str(rs.RecordCount()))
' rs.Fields = ERROR
For Each fld In rs.Fields
Debug.Print(fld.Name)
Next
怎么了?
【问题讨论】: