vb 访问远程mysql_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

983ecc289b31292842818fc0a4532f9f.png

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

6c6fde5e71cdc57a00b4e757da7a0248.png

说明缺少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)

3aba9e6da0911422885045eededace8e.png

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

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

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

3a4b7942f923885e924cbbaaf7bccaf1.png

发现了两个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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值