[摘 要] 本文说明了在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’”
adodc1.connectionstring=connstring
adodc1.recordsource=“select * from aconf ”
set datagrid1.datasource=adodc1
2.ado数据对象法:要能正确引用ado数据对象,应在visual basic 6.0集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框中选中“microsoft activex data objects 2.6 library”选项来添加ado数据对象类型库。
connstr=“dbq=”+app.path &“\qhdedu.mdb”+“;defaultdir=;driver={microsoft access driver(*.mdb)};password=’123456‘“
set conn=createobject(”adodb.connection“)
conn.open connstr
set rs=createobject("adodb.recordset")
sql=”select * from aconf“
rs.open sql,conn,3,2
set datagrid1.datasource = rs
3.dataenvironment(数据环境设计器)法:有两种方法可以通过dataenvironment连接加密的access 2000数据库:
一种方法是设计时,在dataenvironment的connection对象的connectionsource属性的有效连接字符串后加上“;password=123456”
另一种方法是在dataenvironment_initialize()事件中编写如下代码:
private sub dataenvironment_initialize( )
strconn=”provider=microsoft.jet.oledb.4.0;data source=“& app.path &”\qhdedu.mdb“&”;persist security info=false;password=123456“
dataenvironment1.connection1.connectionstring=strconn
end sub
以上为visual basic 6.0中连接已经设置密码的access 2000格式的数据库的几种方法,在编程过程中可以根据自己实际情况选择一种或多种方法综合使用。
参考文献:
[1](美)荷兹纳(steven holzner).visual basic 6技术内幕[m].北京:机械工业出版社,1999
[2]林 永 张乐强:visual basic 6.0用户编程手册[m].北京:人民邮电出版社,2002.
[3]赛奎春 高春艳 笪淑娥:visual basic 精彩编程200例[m].北京:机械工业出版社,2003