vba ado 执行多条mysql 语句_Excel VBA ADO SQL入门教程021:ADO常用连接字符串

这篇博客介绍了如何在VBA中使用ADO对象连接数据库,特别是MySQL,以及如何执行多条SQL语句。文章详细阐述了Connection对象的重要属性和常用方法,包括Open、Close、Execute等,并提供了不同数据库类型的连接字符串示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,好久不见,我们今天开始讲述ADO。

在很久以前的第2章,我们说明了ADO的概念以及为什么学习ADO;同时也介绍了如何在VBA中引用ADO类库、创建同Excel文件的连接,并分享了一个使用ADO执行SQL语言的小套路等;

打个响指,对面的女孩看过来……就像我们所熟悉的Workbook对象一样,大对象ADO内部也有多个小对象,不过我们经常用到的只有两个;一个是Connection,另一个是Recordset。Connection,顾名思义,是到数据库的连接,管理应用程序和数据库之间的通信;Recordset,又称记录集,是用来获得数据,存放和处理SQL语句的查询结果……另外,我们可能会在系列教程的末尾稍微提下ADO的Command对象,它的主要作用是用来处理带参数值的或重复执行的查询。

……

先来看下Connection对象。它的语法如下:

connection.Open ConnectionString, UserID,Password, Options

语法各参数的含义我们第2章时讲过了,这里不再重述。嗯,我是真懒,实在没办法把第2章的内容复制粘贴过来,所以建议你先看完第2章的前3节内容再继续向下阅读。

踹一脚,对面的男孩看过来……第2章时,我们说过,虽然Connection对象对于不同的数据库或文件会有不同的连接字符串,但常用的数据库或文件的连接字符串均是固定的。

下面是常用数据库或文件的连接字符串。

1,Access数据库

没有密码保护的Access数据库

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=带路径的Access数据库名称;

有密码保护的Access数据库

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=带路径的Access数据库完整名称;JetOLEDB:Database Password=密码;

2,Text文件

Provider=Microsoft.ACE.OLEDB.12.0; Data Source=文本文件路径&'\';Extended Properties=’text;HDR=Yes;FMT=Delimied’;

3,SQL Server数据库

Provider =SQLOLEDB;Password=密码;User ID= 用户名; Data Source =SQL数据库服务器名称;Initial Catalog=数据库名称;

4,Oracle 数据库

Provider =madaora; PassWord=密码; User ID=用户名; Data Source =Oracle数据库服务器名称;

5,FoxPro数据库

Provide=Microsoft.ACE.OLEDB.12.0;User ID=用户名;Data Source=dbf文件路径;Extended Properties=dBASEIV;

6,Excel工作簿

03版本Excel

Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=’Excel 8.0;HDR=yes;IMEX=0’;Data Source=带路径的Excel工作簿完整名称

07~16版本Excel

Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=’Excel 12.0; HDR=yes;IMEX=0’;Data Source=带路径的Excel工作簿完整名称

……

……

另外,就像我们所熟悉的众多的VBA对象一样,Connection对象也有很多自己的属性、方法,甚至事件;不过我们能用到的……同样实在不多,且也都有固定的套路。

通过一小段代码,有几个属性仅供大家了解。

Sub test()

Dim cnn As Object

Set cnn = CreateObject('adodb.connection')

cnn.Open 'provider=microsoft.ace.oledb.12.0;extended properties=excel 12.0;data source=' & ThisWorkbook.FullName

Ifcnn.State = 1 Then

MsgBox '连接成功!' & vbCrLf & 'ADO版本为:' & cnn.Version& vbCrLf & 'Connection对象提供者名称:' & cnn.provider

cnn.Close

Set cnn = Nothing

Else

MsgBox '数据库连接失败'

End If

End Sub

State属性返回Connection对象的状态;0是AdStateClosed,表示对象是关闭的;1是AdStateOpen,表示对象是打开的;2是AdStateConnecting,表示对象正在连接等。

Version属性只读,返回Connection对象的版本号;Provider是Connection对象连接数据库提供程序者的名称,当Connection对象关闭时,该属性可读写;否则为只读。

……

重点是Connection对象的方法或函数,我们最常用的也就四个,分别是Open、Close、Execute和OpenSchema。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值