雷杰多·奥特曼图片:ADO Connection对象连接数据库

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 19:02:10
利用ADO的Connection对象来连接数据库作者:bengdeng | 来源:Excel吧 | 时间:2008-09-22 | 阅读权限:游客 | 会员币:0 | 【大 中 小】
在SQL语言教程 - 序http://www.excelba.com/Art/Html/289.html 中我们说到这一篇要介绍利用ADO的Connection对象来连接数据库,目地就是让大家了解后,就可以便于以后的其它SQL语言教程里的代码,大家可以动手运行一下,看一下效果,之后的大部份例子中,这篇文章介绍的都是要用到的,就像我们要使用Excel文件时,要先用Workbooks对象的Open方法打开Excel文件一样。关于Workbooks对象的Open方法的帮助说明,大家可以参考一下:http://www.excelba.com/Art/Html/290.html下面进入正题。首先要说的是ADO是什么?ADO的全称是:Microsoft ActiveX Data Objects ,它使您的客户端应用程序能够通过 OLE DB 提供者访问和操作数据库服务器中的数据。它的主要优点是易于使用、速度快、内存支出低和占用磁盘空间少。ADO 支持用于建立客户端/服务器和基于 Web 的应用程序的主要功能。第二个问题是如何使用ADO?ADO有不少版本,不同的电脑里可能就有不同的版本,在VBA中使用ADO的方法是,在VBE编辑器中工具菜单的引用项里,引用Microsoft activex date objects x.x,其中x.x为版本号,可能会因为你安装的office的版本不同而不同,我用的例子,大多引用了2.5版。认识了ADO,那开始说Connection 对象,Connection 对象表示数据源的唯一会话。ADO提供这个对象,来让我们连接数据库。而Connection 对象的ConnectionString 属性,就是用来指示用于建立到数据源的连接的信息。ConnectionString 属性有五个参数:参数  |  说明
Provider=   :  指定用于连接的提供者的名称。
File Name=  :   指定提供者特有的文件(例如,持久保留的数据源对象)的名称,这些文件中包含预置的连接信息。
Remote Provider=  :   指定当打开客户端连接时使用的提供者的名称。(仅限于远程数据服务。)
Remote Server=   :  指定当打开客户端连接时使用的服务器的路径名称。(仅限于远程数据服务。)
URL=   :  指定连接字符串为标识资源(如文件或目录)的绝对 URL。 设置 ConnectionString 属性后,就可以用 Connection 对象Open方法来接连数据库了。能看到这,可能你已有点晕了,不过不要紧,下面的几个例子,就能让你更好地理解上面这样比较无味的文字,首先是一段连接ACCESS数据库的程序。Sub 连接进销存表数据库()
'*******************************************
'时间:2008-9-22
'作者:bengdeng
'功能:连接同一目录下的进销存表数据库文件
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim sSql As String
WN = "进销存表.mdb"Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
          "Data Source=" & ThisWorkbook.Path & "\" & WN   '& ";Jet OLEDB:Database Password=" & "123"
conn.Open
If conn.State = adStateOpen Then
    MsgBox "连接成功!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub上面程序的红色部分,是为了打开带密码的Access的数据库文件时,需要指定密码的代码,下面再来一段程序,来连接一个Excel文件!Sub 连接进销存表()
'*******************************************
'时间:2008-9-22
'作者:bengdeng
'功能:连接同一目录下的进销存表文件
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim sSql As String
WN = "进销存表.xls"Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.Oledb.4.0;" & _
          "Extended Properties=Excel 8.0;" & _
          "Data Source=" & ThisWorkbook.Path & "\" & WN
If conn.State = adStateOpen Then
    MsgBox "连接成功!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub上面的与第一段程序对比,需要多设定一个参数——“Extended Properties”,这是指定Excel文件的版本,现在已经有的版本为5.0、7.0、8.0等,分别对应的是95版,97版与2000~2003版的XLS文件格式,我用的是2003版,所以设定为=Excel 8.0。最后需要说明的是,第二段程序是不能像第一段程序中,用Jet OLEDB:Database Password="密码"来打开与连接带有密码的Excel文件的,如果需要处理这样的文件,就要用Workbooks对象的Open方法先打开这个Excel文件后再处理,关于Workbooks对象的Open方法上面说过,可以参一下:http://www.excelba.com/Art/Html/290.html ,下面的这个程序就是这样的例子:Sub 连接带密码进销存表()
'*******************************************
'时间:2008-9-22
'作者:bengdeng
'功能:连接同一目录下的打开文件密码为“123”的进销存表文件
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim sSql As String
WN = "进销存表.xls"
Workbooks.Open ThisWorkbook.Path & "\" & WN, Password:="123"
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.Oledb.4.0;" & _
          "Extended Properties=Excel 8.0;" & _
          "Data Source=" & WN
If conn.State = adStateOpen Then
    MsgBox "连接成功!", , "http://excelba.com"
    conn.Close
End If
Workbooks(WN).Close False
Set conn = Nothing
End Sub这篇文章到这就完了,有点长,有三个程序,大家可以复制到VBA编辑器中,运行一下代码,好好的对比与理解一下,相信,很快你就会踏这第一步了,而后面的世界还很多精彩,看到这的你,应该可以看出一点点SQL与ADO与Excel的联系了,那就让我们一起继续向行吧!!
转载请注明:本文来自:Excel吧 (www.excelba.com) 详细出处参考:http://www.excelba.com/Art/Html/291.html