VB 版 (精华区)
发信人: zxfsnow (最近睡眠太少), 信区: VB
标 题: VB中兼容非ACCESS格式数据库3
发信站: 哈工大紫丁香 (2000年06月07日19:13:58 星期三), 转信
发信人: eren (怕谁啊..), 信区: VB
标 题: VB中兼容非ACCESS格式数据库-3
发信站: 虎踞龙蟠 (Sat May 6 20:09:30 2000), 转信
二、使用非Access数据库时的参数设置及配置文件的参数读取
值得注意的是,大多数的程序员都不注重数据库配置文件的使用,殊不知这是
极为重要的。
如果在VB的程序中使用了数据库的操作,将应用程序生成EXE文件或打包生成
安装程序后,则必须提供一个数据库配置(.INI)文件,在INI文件中可以对不同
类型的数据库进行设置。如果找不到这个INI文件,将会导致不能访问数据库。通
常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程
序会在Windows子目录中去找和应用程序同名的INI文件。可以使用VB中的
SetDataAccessOptions语句来设置INI文件。SetDataAccessOptions语句的用法如
下:
SetDataAccessOptions 1,IniFileName
其中IniFileName参数指明的是INI文件的带路径的文件名。
值得注意的是,当应用程序找不到这个INI文件时,或在调用OpenDataBase函
数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 2.5格式设定为
了"FoxPro;"(应为"FoxPro 2.5;"),或者没有安装相应的ISAM驱动程序,则此时
VB会显示一条错误信息"Not Found Installable ISAM"。
通常,INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可
以在应用程序中自己生成。通常这种INI文件中有"[Options]"、"[ISAM]"、
"[Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM]"、"[Paradox ISAM]"等
设置段,对于一个完整的应用程序则还应有一个属于应用程序自己的设置段如
"[MyDB]"。可在其中设置DataType、 Server、DataBase、OpenOnStartup、
DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的
运行环境。Windows API接口函数在Win95系统提供的动态链接库中提供了一个
OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书
写格式写入信息。
在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如
PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(
加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定
、潜在错误的捕获等均会有很大的改善。
设此应用程序的数据库配置文件为MyDB.INI,则具体过程如下:
Funtion GetINIString$( Byval Fname$,Byval szItem$,Byval szDeFault$ )
'此自定义子函数实现INI文件内设置段内参数的读取
Dim Tmp As String, x As Integer
Tmp = String( 2048,32 )
x = OSGetPrivateProfileString( Fname$,szItem$,szDefault$,Tmp,_
Len(Tmp),"MyDB.INI")
GetINIString = Mid$( Tmp,1,x )
GetINIString = Mid$( Tmp,1,x )
End Function
通过此函数就能实现对各种数据库格式的读取。
--
※ 修改:·eren 於 May 6 20:33:08 修改本文·[FROM: 202.119.27.47]
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.773毫秒