非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卡系统集成业务投资的可行性
计算机网络系统在制碱工业中的应用
近日CloudCone商家对旗下的大硬盘VPS云服务器进行了少量库存补货,也是悄悄推送了一批便宜VPS云服务器产品,此前较受欢迎的特价20美元/年、1核心1G内存1Gbps带宽的VPS云服务器也有少量库存,有需要美国便宜大硬盘VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务...
Hostadvice主机目录对我们的服务进行了测试,然后给PQ.hosting颁发了十大WordPress托管奖。为此,宣布PQ.Hosting将在一周内进行折扣优惠,购买和续订虚拟服务器使用优惠码:Hostadvice ,全部优惠10%。PQ.hosting,国外商家,成天于2019年,正规公司,是全球互联网注册商协会 RIPE 的成员。主要是因为提供1Gbps带宽、不限流量的基于KVM虚拟的V...
这两天在站长群里看到不少有使用DEDECMS织梦程序的朋友比较着急,因为前两天有看到来自DEDECMS,我们熟悉的织梦程序官方发布的公告,将会在10月25日开始全面商业用途的使用DEDECMS内容管理程序的会采用授权收费模式,如果我们有在个人或者企业商业用途的,需要联系且得到授权才可以使用,否则后面会通过维权的方式。对于这个事情,我们可能有些站长经历过,比如字体、图片的版权。以及有一些国内的CMS...