非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卡系统集成业务投资的可行性
计算机网络系统在制碱工业中的应用
易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...
racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...
搬瓦工最近新增了荷兰机房中国联通(AS9929、AS4837)线路的VPS产品,选项为NL - China Unicom Amsterdam(ENUL_9),与日本软银和洛杉矶(DC06)CN2 GIA配置一致可以互换,属于高端系列,2.5Gbps-10Gbps大带宽,最低季付46.7美元起。搬瓦工VPS隶属于老牌IT7公司旗下,主要提供基于KVM架构VPS主机,数据中心包括美国洛杉矶、凤凰城、纽...