非Access数据库在VB中的编程及应用
正文
摘要 Visual Basic有着强大的数据库存取能力不仅能够直接支持Ms Access数据库而且通过其内部安装的ISAM驱动程序使它能间接支持FoxPro、 dBASE等外来数据库。本文不仅从VB数据库体系结构的角度探讨了VB对这些外来数据库的支持还结合了一些实例具体阐述了使用数据库存取对象变量的方法实现这些外来数据库的新建、库结构修改、显示及其运行环境设置。关键词Visual BasicAccess 外来数据库数据库正文存取对象变量库结构作为一个功能较完备的Windows软件开发平台 Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项使用数据库存取对象变量Data Access Object Variable 直接调用ODBC 2.0 API接口函数等三种访问数据库的方法。对其标准内置的MsAccess数据库它可以提供不弱于专业数据库软件的支持可以进行完整的数据库维护、操作及其事务处理。在VB中将非Acc es s数据库称为外来数据库。对于FoxPro、 dBASE、 Paradox等外来数据库。虽然借助VB的Dat a Manager能够对这些数据库进行NEW、 OPEN、DESI GN、 DELETE等操作但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发实现了非Access格式数据库以FoxPro数据库为例的建新库、拷贝数
据库结构、动态调入等操作阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性。 一、 VB数据库的体系结构具体的VB的数据库结构。 VB数据库的核心结构是所谓的MicroSoft JET数据库引擎 JET引擎的作用就像是一块"面板"在其上可以插入多种I SAM
Indexed Sequential Access Method 即索引顺序存取方法 数据驱动程序。 JET引擎为Access格式数据库提供了直接的内部
build-in支持这就是VB对Access数据库具有丰富支持的真正原因。 VB专业版中提供了FoxPro、 dBASE 或Xbas e 、 Paradox、Btri eve等数据库的ISAM驱动程序这就使得VB能支持这些数据库格式。另外其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说 VB能支持所有兼容I SAM的数据库格式
前提是只需获得这些数据库的I SAM驱动接口程序 。 由上可见 MsJET引擎实质上提供了一个符合AI标准的语法分析器为查询结果集的使用而提供的内存管理功能 同所支持的数据库的外部接口为应用代码提供的内部接口。实际上在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且尽管dBASE、 Paradox本身的DDL Data Def inition Language 即数据定义语言和DML Data Manipulation Language 即数据操纵语言是非结构化查询的但它们仍然可以使用VB的SQL语句和JET引擎来操纵。从VB的程序代码的角度来看 ODB C I SAM驱动程序以及M sAccess数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量这就为非Access数据库的访问提供了最重要的方
法。 二、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序中使用了数据库的操作将应用程序生成EXE文件或打包生成安装程序后则必须提供一个配置 . INI文件在INI文件中可以对不同类型的数据库进行设置。如果找不到这个INI文件 将会导致不能访问数据库。通常情况下 INI文件的文件名和应用程序的名称相同所以如果没有指明 VB的程序会在Wi ndows子目录中去找和应用程序同名的I N I文件。可以使用VB中的
SetDataAccessOptio语句来设置INI文件。 SetDataAccessOptio语句的用法如下 SetDataAccessOptio 1 IniFileName其中
IniFi leName参数指明的是INI文件的带路径的文件名。值得注意的是 当应用程序找不到这个INI文件时或在调用Ope nDa taB as e函数时对其Connect参数值没有设定为VB规定的标准值如对FoxPro 2.5格式设定为了" FoxPro;" 应为" FoxPro 2. 5; " 或者没有安装相应的ISAM驱动程序则此时VB会显示一条错误信息" Not FoundItallable ISAM "。通常 INI文件在应用程序分发出去以前已经生成或者在安装时动态生成也可以在应用程序中自己生成。 通常这种INI文件中有" Optio"、 "ISAM"、 " Italled ISAMs"、 "FoxProISAM"、 "dBASE ISAM " 、 " Paradox ISAM "等设置段对于一个完整的应用程序则还应有一个属于应用程序自己的设置段如" MyDB” 。可在其中设置DataType、 Server、 DataBase、 OpenOtartup、
DisplaySQL、 QueryTimeOut等较为重要的数据库参数并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernel.exe动态链接库中提供了一个OSWritePrivateProfi leString函数此函数能按Windows下配置文件. INI的书写格式写入信息。在通常情况下应
用程序还需要在运行时读取配置文件内相关项的参数。 比如
PageTimeOut 页加锁超时时限 、 MaxBuffe ize 缓冲区大小 、LockRetry 加锁失败时重试次数等参数通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。论文出处(作者) :未知
向IC卡系统集成业务投资的可行性
计算机网络系统在制碱工业中的应用
春节期间我们很多朋友都在忙着吃好喝好,当然有时候也会偶然的上网看看。对于我们站长用户来说,基本上需要等到初八之后才会开工,现在有空就看看是否有商家的促销。这里看到来自HMBcloud半月湾服务商有提供两款春节机房方案的VPS主机88折促销活动,分别是来自洛杉矶CN2 GIA和日本CN2的方案。八八折优惠码:CNY-GIA第一、洛杉矶CN2 GIA美国原生IP地址、72小时退款保障、三网回程CN2 ...
棉花云官网棉花云隶属于江西乐网科技有限公司,前身是2014年就运营的2014IDC,专注海外线路已有7年有余,是国内较早从事海外专线的互联网基础服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务(SaaS),拥有丰富的国内BGP、双线高防...
7月份已经过去了一半,炎热的夏季已经来临了,主机圈也开始了大量的夏季促销攻势,近期收到一些商家投稿信息,提供欧美或者亚洲地区主机产品,价格优惠,这里做一个汇总,方便大家参考,排名不分先后,以邮件顺序,少部分因为促销具有一定的时效性,价格已经恢复故暂未列出。HostMem部落曾经分享过一次Hostmem的信息,这是一家提供动态云和经典云的国人VPS商家,其中动态云硬件按小时计费,流量按需使用;而经典...