经笔者分析,就是两个dll文件的问题。
第一:把myodbc5.dll,myodbc5S.dll复制到C:\windows\system32\的目录下。
第二:运行注册表文件
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver] "UsageCount"=dword:00000001 "Driver"="C:\\windows\\system32\\myodbc5.dll" "Setup"="C:\\windows\\system32\\myodbc5S.dll"
第三:测试代码
Private Sub Command1_Click()
Dim cmd As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
Set conn = New ADODB.Connection
conn.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=test;UID=root;PWD=root;OPTION=3;stmt=SET NAMES UTF-8"
'创建表
conn.Execute "DROP TABLE IF EXISTS test"
conn.Execute "CREATE TABLE test(id int not null primary key, name varchar(20),txt text, dt date, tm time, ts timestamp)"
'插入数据
conn.Execute "INSERT INTO test(id,name,txt) values(1,100,'www.tthome.cn')"
conn.Execute "INSERT INTO test(id,name,txt) values(2,200,'www.ttvz.com')"
conn.Execute "INSERT INTO test(id,name,txt) values(3,300,'www.163.com')"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
rs.Open "SELECT * FROM test", conn
Debug.Print rs.RecordCount
rs.MoveFirst
Debug.Print String(50, "-") & "Initial test Result Set " & String(50, "-")
For Each fld In rs.Fields
Debug.Print fld.Name,
Next
Debug.Print
Do Until rs.EOF
For Each fld In rs.Fields
Debug.Print fld.Value,
Next
rs.MoveNext
Debug.Print
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub真的就不用安装ODBC驱动了,哈哈哈。