在很久以前的第2章,我们说明了ADO的概念以及为什么学习ADO;同时也介绍了如何在VBA中引用ADO类库、创建同Excel文件的连接,并分享了一个使用ADO执行SQL语言的小套路等;详参链接:Excel VBA ADO SQL入门教程002:简单认识ADO Connection,顾名思义,是到数据库的连接,管理应用程序和数据库之间的通信;Recordset,又称记录集,是用来获得数据,存放和处理SQL语句的查询结果……另外,我们可能会在系列教程的末尾稍微提下ADO的Command对象,它的主要作用是用来处理带参数值的或重复执行的查询。 语法各参数的含义我们第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~19版本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 If cnn.State = 1 Then MsgBox '连接成功!' & vbCrLf & 'ADO版本为:' & cnn.Version & vbCrLf & 'Connection对象提供者名称:' & cnn.provider cnn.Close Set cnn = Nothing Else MsgBox '数据库连接失败' End If End Sub Version属性只读,返回Connection对象的版本号;Provider是Connection对象连接数据库提供程序者的名称,当Connection对象关闭时,该属性可读写;否则为只读。 …… 重点是Connection对象的方法或函数,我们最常用的也就四个,分别是Open、Close、Execute和OpenSchema。 |
|
来自: L罗乐 > 《跟EH看见星光学SQL》