非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卡系统集成业务投资的可行性
计算机网络系统在制碱工业中的应用
易探云怎么样?易探云是目前国内少数优质的香港云服务器服务商家,目前推出多个香港机房的香港云服务器,有新界、九龙、沙田、葵湾等机房,还提供CN2、BGP及CN2三网直连香港云服务器。近年来,许多企业外贸出海会选择香港云服务器来部署自己的外贸网站,使得越来越多的用户会选择易探云作为网站服务提供平台。今天,云服务器网(yuntue.com)小编来谈谈易探云和易探云服务器怎么样?具体香港云服务器多少钱1个...
妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...
享有云怎么样?享有云是一家新的国内云服务器商家,目前提供国内、香港及海外地区的云服务器,拥有多线路如:BGP线路、CN2线路、高防等云服务器,并且提供稳定、安全、弹性、高性能的云端计算服务,实时满足您的多样性业务需求。目前,美国bgp云服务器,5M带宽,低至20元/月起,270元/年起,首月打折;香港2核2G2M仅50元/月起,450元/年起!点击进入:享有云官方网站地址享有云优惠活动:一、美国B...