• VB远程访问MYSQL代码图解


    首先需要安装MySQL Connector/ODBC

    地址:http://dev.mysql.com/downloads/connector/odbc/

    根据自己的系统(运行环境: Win7/XP/Win9x/2000/2003),选择相应的版本,如果页面打不开,可以直接试试下面的下载链接:

    http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-win32.msi

    http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-winx64.msi

    如果安装的时候,弹出下面的警告对话框

    说明缺少VC++组件,点击Abort终止,然后去微软官网下载一个安装后再重复刚才的

    Microsoft Visual C++ 2010 Redistributable Package

    64-bit version:  http://www.microsoft.com/en-us/download/confirmation.aspx?id=14632

    32-bit version:  http://www.microsoft.com/en-gb/download/details.aspx?id=5555

    安装过程全英文,一路下一步

    关于VB链接MYSQL的资料百度一大堆,大多数和下面这种差不多相似,而且是很久以前的代码,使用的时候会报错(-2147467259)

    主要的问题在于"DRIVER={MySQL ODBC 5.1 Driver}"这句错了,首先来看看刚才我们安装后的MySQL Connector/ODBC

    开始--控制面板--管理工具--数据源(ODBC)

    在  用户DSN 选项卡中的表格如果没有发现MySQL字样的,那么就点击右侧的  添加  查看,如下图

    发现了两个MySQL的驱动(然后关闭上面的窗口,不用做添加操作等,只是看看)

    MySQL ODBC 5.3 ANSI Driver   和  MySQL ODBC 5.3 Unicode Driver  

    将上面的名称随便选一个替换到刚才的链接字符试试

    我这里测试两个都可以连接上使用,即:

    cn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};Persist Security Info=True;SERVER=... ..."

    cn.ConnectionString = "DRIVER={MySQL ODBC 5.3 ANSI Driver};Persist Security Info=True;SERVER=... ..."

    下面是工程示例,新建工程,添加textbox和command

    Option Explicit
    '引用 Microsoft ActiveX Data Objects 2.x Library
    Private Sub Command1_Click()
        Dim cn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Set cn = ConnMySQL("root", "123456", "test", "192.168.1.101")
        If cn Is Nothing Then
            If Err.Number <> 0 Then
                MsgBox Err.Number & " " & Err.Description, vbOKOnly & "连接MySQL发生错误"
            Else
                MsgBox "连接失败", vbOKOnly & "提示"
            End If
            Exit Sub
        End If
        rs.CursorLocation = adUseClient
        rs.Open "SELECT * FROM ssc_members", cn, adOpenDynamic, adLockOptimistic, adCmdText
        Me.Caption = rs.RecordCount
        If rs.RecordCount > 0 Then
            rs.MoveFirst
            Do Until rs.EOF
                Text1.Text = Text1.Text & rs("username").Value & vbCrLf
                rs.MoveNext
                DoEvents
            Loop
        End If
        cn.Close
    End Sub
     '-----------------------------------------------------------------------------------------------------
    Public Function ConnMySQL(uid As String, pwd As String, db_name As String, Optional host As String = "127.0.0.1", Optional port As Integer = 3306) As ADODB.Connection
        Dim cn As New ADODB.Connection
        On Error GoTo errline
        cn.Mode = adModeReadWrite
        cn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};" _
                            & "Persist Security Info=True;" _
                            & "SERVER=" & host _
                            & ";PORT=" & port _
                            & ";DATABASE=" & db_name _
                            & ";UID=" & uid _
                            & ";PWD=" & pwd _
                            & ";OPTION=3"
        cn.Open
        If cn.State = adStateOpen Then
            Set ConnMySQL = cn
        End If
        Exit Function
    errline:
    End Function

    关于远程访问时MYSQL的设置,详见另一篇图解 http://www.cnblogs.com/xiii/p/4890885.html

  • 相关阅读:
    java8学习笔记之lambda表达式
    spring注解value的用法
    mybites
    spring bean的初始化以及销毁
    java并发之线程间通信
    mybatis常见问题和错误
    hadoop安装问题记录
    linux 常用命令
    省选模拟98 题解
    省选模拟97 题解
  • 原文地址:https://www.cnblogs.com/xiii/p/4891166.html
Copyright © 2020-2023  润新知