非Access数据库在VB中的编程及应用.docx
《非Access数据库在VB中的编程及应用.docx》由会员分享,可在线阅读,更多相关《非Access数据库在VB中的编程及应用.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、非Access数据库在VB中的编程及应用 存取对象变量库结构作为一个功能较完备的Windows软件开发平台,VisualBasic专业版供应了对数据库应用的强大支持。尤其供应了运用数据控件和绑定限制项,运用数据库存取对象变量(DataAccessObjectVariable),干脆调用ODBC2.0API接口函数等三种访问数据库的方法。对其标准内置的MsAccess数据库,它可以供应不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。在VB中,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的DataManager
2、能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等操作,但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从运用数据库存取对象变量的方法动身,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性。一、VB数据库的体系结构详细的VB的数据库结构。VB数据库的核心结构是所谓的MicroSoftJET数据库引擎,JET引擎的作用就像是一块"面板",在其上可以插入多种ISAM(IndexedSequentialAccessMethod,即索引依次存取方法
3、)数据驱动程序。JET引擎为Access格式数据库供应了干脆的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正缘由。VB专业版中供应了FoxPro、dBASE(或Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格式。另外,其他的很多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持全部兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。由上可见,MsJET引擎实质上供应了:一个符合ANSI标准的语法分析器;为查询结果集的运用而供应的内存管理功能;同所支持的数据
4、库的外部接口;为应用代码供应的内部接口。事实上,在VB中从一种数据库类型转化为另一种数据库类型几乎不须要或只须要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL(DataDefinitionLanguage,即数据定义语言)和DML(DataManipulationLanguage,即数据操纵语言)是非结构化查询的,但它们仍旧可以运用VB的SQL语句和JET引擎来操纵。从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及MsAccess数据库的整个外部结构够可以统一为一个一样的编程接口。也即是说,供应给VB应用程序员的记录集对象视图同所运用的数据库格式及类型是相互独立的。
5、即对FoxPro等数据库仍旧可以运用众多的数据库存取对象变量,这就为非Access数据库的访问供应了最重要的方法。二、运用非Access数据库时的参数设置及配置文件的参数读取假如在VB的程序中运用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必需供应一个配置(.INI)文件,在INI文件中可以对不同类型的数据库进行设置。假如找不到这个INI文件,将会导致不能访问数据库。通常状况下,INI文件的文件名和应用程序的名称相同,所以假如没有指明,VB的程序会在Windows子书目中去找和应用程序同名的INI文件。可以运用VB中的SetDataAccessOptions语句来设置INI
6、文件。SetDataAccessOptions语句的用法如下:SetDataAccessOptions1,IniFileName其中IniFileName参数指明的是INI文件的带路径的文件名。值得留意的是,当应用程序找不到这个INI文件时,或在调用OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro2.5格式设定为了"FoxPro;"(应为"FoxPro2.5;"),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息"NotFoundInstallableISAM"。通常,
7、INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。通常这种INI文件中有"Options"、"ISAM"、"InstalledISAMs"、"FoxProISAM"、"dBASEISAM"、"ParadoxISAM"等设置段,对于一个完整的应用程序则还应有一个属于应用程序自己的设置段如"MyDB。可在其中设置DataType、Server、DataBase、OpenOnStartup、DisplaySQL、QueryTime
8、Out等较为重要的数据库参数,并以此限定应用程序一般的运行环境。WindowsAPI接口函数在Kernel.exe动态链接库中供应了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书写格式写入信息。在通常状况下,应用程序还须要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。设此应用程序的配置文件为MyDB.INI,则详细过程如下:
9、FuntionGetINIString$(ByvalFname$,ByvalszItem$,ByvalszDeFault$)#39;此自定义子函数实现INI文件内设置段内参数的读取DimTmpAsString,xAsIntegerTmp=String(2048,32)x=OSGetPrivateProfileString(Fname$,szItem$,szDefault$,Tmp,Len(Tmp),"MyDB.INI")GetINIString=Mid$(Tmp,1,x)EndFunction以下这些函数的声明可写在模块文件内,且每个函数的声明必需在一行内DeclareFu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Access 数据库 VB 中的 编程 应用
限制150内