非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卡系统集成业务投资的可行性
计算机网络系统在制碱工业中的应用
RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...
95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...
久久网云怎么样?久久网云好不好?久久网云是一家成立于2017年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,久久网云目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港荃湾CN2弹性云服务器。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为...