【外部语言拓展】VB与Access连接的方法(Ado连接)-nivenm
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


【外部语言拓展】VB与Access连接的方法(Ado连接)

发表时间:2013/12/1 8:04:07 评论(1) 浏览(7090)  评论 | 加入收藏 | 复制
   
摘 要:VB,Access
正 文:
VB与Access连接的方法(Ado连接)


一、建立数据库


  因为在Visual Basic 6.0中有的数据库连接方式不支持Access 2000版本格式的数据库,为了便于说明问题,本文所提的数据库以Access 97版本数据库为例。


  在Microsoft Access 97中建立一个数据库,如:ssgl.mdb,并设置密码,如:“1234”,再将数据库文件和VB中创建的工程文件放在同一目录下。


  如果用户的计算机上只有Access 2000的话,可以先在Access 2000中建立ssgl.mdb数据库,并设置密码,再用Access 2000中的“数据库实用工具”将数据库转换成Access 97版本的格式。


  当然也可以直接在Visual Basic 6.0集成开发环境中通过“可视化数据管理器”来创建数据库,再到Access 97中设置密码。


  通过对数据库文件设置密码,一般情况下,非法用户就不能用常规的手段打开数据库了,对数据库中的信息起到了一定的安全和保密作用。


  二、连接加密的Access数据库


  在Visual Basic 6.0中,要建立与数据库的连接,可采用的技术手段很多,如:数据控件、数据对象、数据环境设计器等。开发人员可以根据自身的条件和用户的需求进行选择。


  限于篇幅,下面只介绍加密的Access数据库与没有加密的Access数据库在连接时的不同之处。关于没有加密的数据库的连接及访问的方法读者可以参阅其它资料。


  1、使用控件


  ① Data控件


  Data控件是Visual Basic 6.0中的一个内置数据控件,可以通过设置Data控件的connect、DatabaseName、RecordSource属性实现对数据库的连接和访问。通过Data控件连接加密的数据库的方法有两种:


  一种方法是在设计状态时,在“属性窗口”中将Data控件的connect属性的缺省值”Access”改为”; pwd=1234”即可,其它属性的设置方法与没有加密的Access数据库的连接相同。


  另一种方法是在运行时,通过代码对connect属性赋值来实现。如:


Data1.connect=”; pwd=1234”


Data1.DatabaseName=APP.path + “\ssgl.mdb”


  其中,”1234”为Access数据库文件ssgl.mdb的密码,下同。


  ②Adodc控件


  Adodc控件是一个ActiveX控件,它使用Microsoft ActiveX Data Objects(ADO)创建到数据库的连接。使用Adodc控件之前,要先将Adodc控件添加到控件工具箱中。方法如下:在VB 6.0种选择“工程”菜单,再点击“部件”菜单项,在弹出的“部件”对话框中选中“Microsoft ADO Data Control 6.0(OLEDB)”选项即可。


  通过Adodc控件连接加密的数据库的方法也有两种:


  一种方法是在设计状态时,在“属性窗口”中,对Adodc控件的ConnectionString属性设置一个有效的连接字符串,并在连接字符串后增加上”; Jet OLEDB: DataBase password=1234”,再设置Adodc控件的CommandType、RecordSource的属性就可以创建到加密的数据库的连接了。


  另一种方法是在运行时,通过代码动态地设置ConnectionString、CommandType和RecordSource属性来创建连接。只要在ConnectionString属性的有效连接字符串后增加上”; Jet OLEDB: DataBase password=1234”即可。


  2、使用数据对象


  ① DAO数据对象


  要能正确引用DAO数据对象来建立与数据库的连接,应先在VB集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框选择“Microsoft DAO 3.51 Object Library”选项来添加DAO数据对象类型库。


  接下来就可用如下代码来建立到加密的Access数据库ssgl.mdb的连接。


Dim db AS DataBase


Set db=OpenDataBase(App.path + “\ssgl.mdb” , False , False , ” ; pwd=1234”)


  ② ADO数据对象


  ADO是Microsoft推出的处理关系数据库和非关系数据库中信息的最新技术,也是Microsoft推崇的用于数据连接和访问的技术。在VB 6.0中,Adodc控件、ADO数据对象及DataEnvironment(数据环境设计器)都采用的是ADO技术,因而它们处理加密的Access数据库的方法类似。


  要能正确引用ADO数据对象,应在VB 6.0集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框中选中“Microsoft ActiveX Data Objects 2.1 Library”选项来添加ADO数据对象类型库。


  可用如下代码来建立到加密的Access数据库ssgl.mdb的连接。


Dim cnn AS ADODB.Connection


Dim rst AS ADODB.Recordset


Set cnn=New ADODB.Connection


Cnn.Provider= ”Microsoft.Jet.OLEDB.3.51”


Cnn.ConnectionString= ”Data Source=” & App.path & ”\ssgl.mdb;” & _


” ;Jet OLEDB: Database password=1234”


cnn.Open


  ③ 使用DataEnvironment(数据环境设计器)


  有两种方法可以通过DataEnvironment连接到加密的Access数据库:


  一种方法是在设计状态时,在DataEnvironment的connection对象的ConnectionSource属性的有效连接字符串后加上” ;


Jet OLEDB: Database password=1234”


  另一种方法是在DataEnvironment_Initialize()事件中编写如下代码:


Private sub DataEnvironment_Initialize( )


Dim strconn AS string


Strconn=” Provider=Microsoft.Jet.OLEDB.3.51;” & _


”Data Source=” & App.path & “\ssgl.mdb;” & _


”; Jet OLEDB: Database password=1234”


DataEnvironment1.connection1.connectionstring=strconn


End sub

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access拓展应用】【转】access与SQL的区别和联系  【nivenm  2013/5/9】
【Access拓展应用】VBA导出到Excel提速之法  【nivenm  2013/5/14】
【Access拓展应用】如何在Access数据表中插入图片或声音信...  【nivenm  2013/5/21】
【Access拓展应用】连接 Access 2007 的操作方法  【nivenm  2013/5/21】
VB6.0教程--入门篇  【Lee  2013/9/29】
【Access拓展】Access13和Access10的区别  【nivenm  2013/10/28】
 
 访客评论
2013/12/1石雷
谢谢分享不错的文章

总记录:1篇  页次:1/1 9 1 :
 
 发表评论
评论内容 (必填)

常见问答
技术分类
相关资源
文章搜索
关于作者

nivenm

文章分类

文章存档

友情链接