|
[摘 要] 本文说明了在Visual Basic 6.0中如何正确连接已经设置密码的Access 2000格式的数据库,详细介绍了Data控件、DAO及ADO三种方式的多种方法,并给出了有关代码。
[关键词] VB 连接 密码 Access2000
在专业的数据库软件开发中,为了确保数据库中信息的安全,往往要求对其使用的ACCESS数据库文件设置安全密码,以防止非法用户通过其它的常规手段将其打开,从而保护数据库不被非系统授权的修改或破坏。目前有很多文章介绍如何打开设置密码的Access 97格式数据库,但不适用于Access 2000格式的数据库,因此如何在Visual Basic 6.0中连接已经设置密码的Access 2000格式的数据库是很多程序员需要解决的问题。笔者在实际操作中总结出几种连接方法,下面以qhdedu.mdb数据库(密码:123456)为例说明具体连接方法。
一、Data控件方式
Data控件是Visual Basic 6.0中的一个内置数据控件,可以通过设置Data控件的Connect、DatabaseName、RecordSource属性实现对数据库的连接和访问。 通过Data控件连接加密的数据库的方法有两种:
第一种方法是设计时,在“属性窗口”中将Data控件的Connect属性的缺省值“Access2000”改为“Access2000;pwd=123456”即可,其它属性的设置与没有加密的Access数据库的连接设置相同。
第二种方法是在运行时,通过代码对Connect属性赋值来实现。如:
Data1.DatabaseName=App.Path “\qhdedu.mdb”
Data1.Connect=“Access 2000;pwd=123456”
Data1.RecordSource=“ACONF”‘ACONF为数据库中一个表
二、DAO方式
利用DBEngine的OpenDatabase()方法打开设置密码的数据库。
打开数据库格式:
Set db=OpenDatabase(dbname[, exclusive[,readonly[,source[,password]]]])
关闭数据库:db.colse
打开数据表:Set rs = db.OpenRecordset(source[,type[,options]])
关闭数据表:rs.close
具体连接代码如下:
Set db=OpenDatabase(App.Path “\qhdedu.mdb”,True,True, “;Pwd=123456”)
Set rs=db.OpenRecordset(“ACONF”,dbOpenDynaset)
Set Data1.Recordset=rs‘设置控件Data1的属性
三、ADO方式
ADO是Microsoft推出的处理关系数据库和非关系数据库中信息的最新技术,也是Microsoft推崇的用于数据连接和访问的技术。在Visual Basic 6.0中,Adodc控件、ADO数据对象及DataEnvironment(数据环境设计器)都采用的是ADO技术,因而它们处理加密的Access数据库的方法类似。
1.Adodc控件法:在Visual Basic 6.0集成开发环境中选择“工程”菜单,再点击“部件”菜单项,在弹出的“部件”对话框中选中“Microsoft Ado Data Control 6.0(Sp6)”及“Microsoft DataGrid Control 6.0(Sp6)”选项,这样就可以在窗体上添加控件“Adodc1”与“DataGrid1”。具体代码如下:
connstring=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” App.Path “\qhdedu.mdb” “;Persist Security Info=False;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:database password=‘123456’” |
|