08
2015
04

VB在不安装MySQL ODBC驱动的情况下连接mysql

经笔者分析,就是两个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驱动了,哈哈哈。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。