笔者和同事们在使用VB对数据库操作应用时,总结了如下的几种方法,供初学者参考,希望能对大家有所启发。
1、数据库打开/关闭方法的选择
在通常情况下,数据库的打开操作是在程序代码中使用OpenDatabase方法实现,其格式如下:
Set database=workspace.OpenDatabase(dbname,options,readonly,connect)
可以通过指定数据库名字、打开方式、连接信息等参数打开一个现已存在的数据库,使用Close方法即可关闭该数据库。由于涉及VB代码的编写,其软件编制工作比较复杂。 另一方面,VB的数据控件(Data Control)也可以执行数据库的打用关闭操作。我们可以在数据控件的属性窗口中预先填好数据库打开的相关参数,一旦该数据控件启动,数据库便会自动以指定的方式打开,而当该数据控件终止时,对应的数据库也将自动关闭。对于按这二种方式打开的数据库,其后的数据库访问操作没有什么本质的区别。
以上两种数据库打用关闭的方法各有千秋:使用OpenDatabase方法可以在程序运行中动态地设置数据库打开参数,并且可以多次以不同的方式打开和关闭同一个数据库,具有相当大的灵活性。而如果使用数据控件,则不需要另外编写VB代码,只要在程序编制时预先设置数据库的相关参数,程序开始运行后便会自动地以我们指定的方式打开数据库,并在程序终止时自动关闭该数据库,因此显得相当方便。在实际应用中,可以视情况的不同而采用不同的处理方法:如果要求数据库在程序运行中始终处于打开状态并且其打开方式保持不变(如一直处于只读状态),那么,可以采用数据控件方法打开数据库;如果要求数据库在程序运行中时而打开时而关闭,或者经常在只读和读写方式间来回切换,则只能采用OpenDatabase方法编写程序代码。
2、通过相对路径指定数据库文件
在很多情况下,不管采用上述哪一种方法打开数据库,都必须在程序设计时就指定需要打开的数据库文件。但是,我们通常不能保证该软件完成后一定会被安装在每台机器的同一目录下。因此该数据库文件的绝对路径一般在设计时还难以完全确定,只能采用相对路径的办法来解决这个问题。
在VB中,App对象是一个全局对象,用来提供当前应用程序的相关信息,其Path属性反映的是当前应用程序的可执行文件(.exe)所在的绝对路径,并且只在程序运行时才有效。通过使用App对象的Path属性,可以方便地获得当前程序所在的目录路径。因此,如果把数据库文件存放在与程序路径相关的目录下,便可以在程序设计时就指定数据库文件的相对路径,当程序运行时,通过App对象的Path属性动态地获取其绝对路径。
下面的一段代码,用来在程序开始运行时获取程序的路径,并赋值给变量AppPath,然后在数据控件Data1的Database Name属性中与数据库文件的相对路径"Database\Sample.Mdb"结合,组成数据库文件的绝对路径。这段代码通常出现在Form-Load中:
Dim AppPath As String ' 设置路径变量 AppPath=App.Path ' 获取程序路径 If Right(AppPath,1)<>"\"Then AppPath=AppPath+"\" ' 若路径尾部没有"\",则添加之 Data1.Database Name=AppPath+"Database\Sample.mdb" ' 与相对路径结合,组成绝对路径 |