【链接MySQL】教你用VBA链接MySQL数据库

hi,大家好呀!

之前呢,给大家分享过一个自制链接表管理器的文章,文章中有链接SQL Server数据库的代码,大家对这一段代码比较有兴趣,既然大家有兴趣,那我们今天就来讲一下链接数据库的代码。

这里给大家讲两个数据库的链接方法,一个是我们常用的SQL Server,另一个是现在非常流行的MySQL数据的链接。至于链接Access数据库,这个就由大家自己去试了,好的,废话不多说了,让我们来试一下吧。

我们先来看一下链接SQL Server怎么写。

01、链接SQL Server

因为SQL Server是我们比较常用的数据库,所以怎么去安装之类的就不去讲了,这里直接给大家上代码。

链接的代码主要就是链接字符串,数据库链接成功后,就是对数据库的一些操作,比如查询数据,这部分的代码就由大家自行补充了。

    Dim strConnect As String
    Dim cnn As Object  'New ADODB.Connection
    Dim rst As Object


    strConnect = "Provider=SQLOLEDB" & _
        ";Data Source=服务器地址" & _
        ";Initial Catalog=数据库名称" & _
        ";User ID=用户名" & _
        ";Password=密码"

    Set cnn = CreateObject("ADODB.Connection")

    cnn.connectionString = strConnect
    cnn.Open
    If cnn.State Then MsgBox "链接成功。", vbInformation

    strSQL = "select count(1) FCount from INFORMATION_SCHEMA.TABLES  "
    Set rst = CreateObject("ADODB.Recordset")
    rst.Open strSQL, cnn, 2, 3
    '操作代码省略…
    rst.Close

02

链接MySQL

我们详细的来讲一下链接MySQL。

在链接MySQL数据库前,需要安装MySQL数据库,这个就由大家自行安装。

数据库安装完成后,还需要安装MySQL 的ODBC驱动,注意安装的时候要确认一下你的office版本,如果你的office是32位的,也要安装32位的驱动,如果是64位的,则安装64位的,安装成功后,在控制版面的ODBC的数据源配置一下,如图

【链接MySQL】教你用VBA链接MySQL数据库_第1张图片

【链接MySQL】教你用VBA链接MySQL数据库_第2张图片

这些操作都完成后,我们就可以来写代码了

    Dim strConnect As String
    Dim cnn As Object  'New ADODB.Connection
    Dim rst As Object
    Dim strSQL As String

    strConnect = "DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=localhost;DATABASE=mydata_Test;USER=root;PASSWORD=123456;OPTION=3;"


    Set cnn = CreateObject("ADODB.Connection")

    cnn.ConnectionString = strConnect
    cnn.Open
    If cnn.State Then MsgBox "链接成功。", vbInformation

    strSQL = "select count(1) FCount from t_test "
    Set rst = CreateObject("ADODB.Recordset")
    rst.Open strSQL, cnn, 2, 3
    Debug.Print rst!FCount
    rst.Close

还是一样,链接的字符串是我这里的数据库链接方式,这个需要替换成你们自己的。

这里我们输出了一下这张t_test里有几条记录,debug出来是2

【链接MySQL】教你用VBA链接MySQL数据库_第3张图片

那怎么来验证呢,那我们就在数据库的后台查看一下,如下图,是后台数据库的截图,我们可以看到是两条记录,这说明我们的操作是正确的。

【链接MySQL】教你用VBA链接MySQL数据库_第4张图片

好了,大家快去试一下吧。

你可能感兴趣的:(vba,Access开发,数据库,vba,oracle,mysql)