Heim >Datenbank >MySQL-Tutorial >VB6.0 中连接加密的Access数据库

VB6.0 中连接加密的Access数据库

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:04:371156Durchsuche

以前曾看过介绍如何在Visual Basic中 连接 和使用Access 数据库 的技术文章,实际上在专业的 数据库 软件开发中,为了确保 数据库 中信息的安全,往往要求对 数据库 文件进行加密,以防止非法用户通过其它的常规手段将其打开。那么,在Visual Basic中如何建

以前曾看过介绍如何在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控件的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

  以上方法及相关代码笔者都已在Windows 98操作系统环境,Visual Basic 6.0中调试、验证并通过。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn