必威注册电子书籍教程中心网文荟萃客户留言繁體中文
设为首页
加入收藏
联系必威注册
您当前的位置:92动力网 -> 教程中心 -> 编程经验 -> Visual Basic -> 教程内容 退出登录 用户管理
栏目导航
· Visual Basic· Delphi
· Visual C++· C++ Builder
· JAVA DotNet· 其他相关
热门教程
· 如何在Visual Basic...
· 使用Visual Basic操...
· 使用VB6.0设计Activ...
· VB动态调用外部函数...
· 建立一个程序员自己...
· 如何编写高质量的VB...
· [图文] 为更新到Visual Bas...
· 再谈在VB中调用VC++...
· 用VB语言编程实现JP...
· 用DTS实现SQL数据库...
相关教程
· 将Access数据库移植...
· DataGrid 链接Acces...
· 如何在VB5.0中简单安...
· 非Access数据库在VB...
· 如何保护发行的软件...
· 如何在vb 中用api函...
· 通过三层结构模型远...
· [组图] Ultradev实例教程:2...
· 彻底防止ACCESS数据...
· ACCESS数据库向MySQ...

如何在Visual Basic 6.0 中连接加密的Access数据库
作者:佚名聽聽来源:本站整理聽聽发布时间:2005-12-25 18:57:30聽聽发布人:admin

减小字体 增大字体

以前曾看过介绍如何在Visual Basic中连接和使用Access数据库的技术文章,实际上在专业的数据库软件开发中,为了确保数据库中信息的安全,往往要求对数据库文件进行加密,以防止非法用户通过其它的常规手段将其打开。那么,在Visual Basic中如何建立与加密的数据库的连接呢?笔者在开发本校的宿舍管理信息系统中,总结了一些方法和技巧,现写出来与同行交流。

一、建立数据库

因为在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控件的connectDatabaseNameRecordSource属性实现对数据库的连接和访问。

通过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控件的CommandTypeRecordSource的属性就可以创建到加密的数据库的连接了。

另一种方法是在运行时,通过代码动态地设置ConnectionStringCommandTypeRecordSource属性来创建连接。 只要在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数据对象

ADOMicrosoft推出的处理关系数据库和非关系数据库中信息的最新技术,也是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数据库:

一种方法是在设计状态时,在DataEnvironmentconnection对象的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

以上方法及相关代码笔者都已在Windows 98操作系统环境,Visual Basic 6.0中调试、验证并通过。


[] [返回上一页] [打 印] [收 藏]
∷相关教程评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图 - 管理登录
Copyright 2019 必威注册. All Rights Reserved .
浙ICP备05047688号