欢迎来到天天文库
浏览记录
ID:21235914
大小:71.00 KB
页数:7页
时间:2018-10-20
《在vb中兼容非access数据库的技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在VB中兼容非ACCESS数据库的技巧>>教育资源库 一个完整的数据库管理系统(DBMS)应是能兼容市面上各种较流行数据格式的系统,它充分考虑了不同用户的实际要求。鉴于目前市面上有多种数据库格式(如Foxpro、DBase、Paradox等)流行,因而在VB数据库应用程序中兼容非ACCESS数据库就显得尤为重要了。 作为一种流行的开发平台,VB提供了强大的数据库功能。主要有以下三种:数据控件法:使用数据存取对象(DataAccessObject)法;直接调用ODBC2.0API接口函数法。其中调用数据存取对象的方法相对其它两种方法
2、具有方便灵活、功能强大的突出优点。本文即从调用数据库存取对象的方法出发,实现了非ACCESS格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性。 一、VB数据库的体系结构 VB数据库的核心结构是所谓的MicroSoftJET数据库引擎,它为VB与数据库的接口提供了基本的方法和手段。JET引擎被VisualBasic、MicrosoftACCESS和其它Microsoft产品所共享。因而在VB中Access数据库格式是一种标准的内置格式,所有的非
3、ACCESS数据库都被称为外来数据库。 JET引擎的作用就像是一块面板,在其上可以插入多种索引顺序存取方法(即ISAM)数据驱动程序。这就是VB对非ACCESS数据库具有丰富支持的真正原因。VB专业版中提供了FoxPro、dBASE(或Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。 二、使用非ACC
4、ESS数据库时的参数设置及配置文件的参数读取 值得注意的是,大多数的程序员都不注重数据库配置文件的使用,殊不知这是极为重要的。 如果在VB的程序中使用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个数据库配置(.INI)文件,在INI文件中可以对不同类型的数据库进行设置。如果找不到这个INI文件,将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在驱动程序,则此时VB会显示一条错误信息NotFoundInstallableISAM。 通常,INI
5、文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。通常这种INI文件中有[Options]、[ISAM]、[InstalledISAMs]、[FoxProISAM]、[dBASEISAM]、[ParadoxISAM]等设置段,对于一个完整的应用程序则还应有一个属于应用程序自己的设置段如[MyDB]。可在其中设置DataType、Server、DataBase、OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 axB
6、ufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。 设此应用程序的数据库配置文件为MyDB.INI,则具体过程如下: 以下为引用的内容:FuntionGetINIString$(ByvalFname$,ByvalszItem$,ByvalszDeFault$)此自定义子函数实现INI文件内设置段内参数的读取DimTmpAsString,xAsIntegerTmp=String(2048,32)x=OSGetPrivate
7、ProfileString(Fname$,szItem$,szDefault$,Tmp,Len(Tmp),MyDB.INI)GetINIString=Mid$(Tmp,1,x)EndFunction 通过此函数就能实现对各种数据库格式的读取。 三、调用数据存取对象对非ACCESS数据库编程的方法及其实例 VB专业版中使用数据库存取对象变量(DAO)的方法最具有功能强大、编程灵活的特点。它能够在程序中存取ODBC2.0的管理函数;可以控制多种记录集类型:Dynaset,Snapshot及Table记录集合对象;可以存储过程和查询动
8、作;可以存取数据库集合对象,例如TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。这种方法对数据库处理的大多数情况都非常适用。 从VB的程序代码的角度来看,提供给VB程序员的
此文档下载收益归作者所有