百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

VBA连接Mysql数据库 vba怎么连接数据库sql

qiyuwang 2024-10-09 17:41 19 浏览 0 评论

本篇文章分享VBA连接Mysql数据库的具体步骤。包含以下几个部分:


■MySQL的环境配置

■VBA连接MySQL数据库的代码框架



一、MySQL的环境配置


我的具体环境:

√Win7 32位系统

√Excel 2016 32bit

√Mysql服务+数据库管理工具(我用的Navicat)

√Mysql ODBC连接器

√VC++ 2015 Redistributable(一个必须环境)


切记!上述组件务必安装相同位数的版本,否则容易出现各种问题!


(所有文中涉及到的附件,32和64位版本均提供安装包,后台回复mysql获取)









▍确保以上程序均安装完成以后,开始下面的配置环境。


①打开“控制面板”-“管理工具”-“ODBC 数据源”(找不到管理工具的,搜索一下)

②添加Mysql数据源驱动



③点击完成后弹出配置界面,关于界面的说明如下:

我这里使用的是Navicat数据库管理软件,下面的界面也是Navicat里面连接设置页面。如果成功的话,点Test之后会出现连接成功的提醒。


到这一步,我们已经成功了一半了,下面只需要知道VBA连接Mysql的框架代码即可。



二、VBA中使用代码连接MySQL

现在给出连接Mysql数据库的框架代码


▍框架代码:

Sub 连接本地Mysql()
 '///1. 引用ADO类库:前期或者后期绑定
 Dim conn As ADODB.Connection
 Set conn = New ADODB.Connection '以上两句可简写Dim con As New ADODB.Connection
 Dim rs As ADODB.Recordset
 Set rs = New ADODB.Recordset '以上两句可简写Dim rs As New ADODB.Connection
 '///2. ADO建立对数据源的链接
 conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3306;DB=myemployees;UID=root;PWD=123;OPTION=3;"
 conn.Open
 '///3. ADO执行SQL语言。
 rs.Open "select * from jobs", conn '使用结果集对象执行sql语句
 Range("A2").CopyFromRecordset rs '将数据输出到工作表,不包含字段名
 '可简写con.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=192.168.1.139;DB=test;UID=root;PWD=abc;OPTION=3;"
 MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & conn.State & vbCrLf & "数据库版本:" & conn.Version)
 conn.Close
 Set conn = Nothing
End Sub




代码主要分为三大部分:

■引用ADO类库:前期或者后期绑定

■ADO建立对数据源的链接

■ADO执行SQL语言


???关于引用ADO类库:


连接数据库需要通过ado这个中间人。首先我们要引用ado组件的类型库,这里我采用前期绑定的方式。


在VBE菜单栏选择“工具”-“引用”,在弹出的引用窗口中,找到"Microsoft ActiveX Data Objects 6.1 Library"和"Microsoft ActiveX Data Objects Recordset 6.0Library",把前面的框勾选上,点击确定即可。(如果不是这两个版本,则选择一个版本号最高的勾选即可)


???ADO的连接字符串



 conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3306;DB=myemployees;UID=root;PWD=123;OPTION=3;"


Driver变量:值是必须要和数据源中添加的新数据源一致的,否则会提示找不到数据源。


Server变量:本地Mysql服务器,输入127.0.0.1,;远程服务器输入相应服务器IP地址。

Port变量:端口号

DB变量:数据库名字

UID变量:用户名

PWD变量:密码


???执行sql语句:


通常我们使用ADO的Execute语句Recordset对象执行SQL语句。


 将SQL查询结果和字段名写入表格指定区域
 Sql = "SELECT 姓名,成绩 FROM [Sheet1$] WHERE 成绩>=80"
 'Sql语句,查询Sheet1表成绩大于80……姓名和成绩的记录
 Set rst = cnn.Execute(Sql)
 'cnn.Execute()执行SQL语句,始终得到一个新的记录集rst
 For i = 0 To rst.Fields.Count - 1
 '利用fields属性获取所有字段名,fields包含了当前记录有关的所有字段,fields.count得到字段的数量
 '由于Fields.Count下标为0,又从0开始遍历,因此总数-1
 Cells(1, i + 4) = rst.Fields(i).Name
 Next
 Range("d2").CopyFromRecordset rst
 '使用单元格对象的CopyFromRecordset方法将rst内容复制到D2单元格为左上角的单元格区域



原创不易,如果你觉得不错,希望你能帮忙转发

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: