visual basic有着强大的数据库存取能力,不仅能够直接支持ms access数据库,而且通过其内部安装的isam驱动程序使它能间接支持foxpro、dbase等外来数据库。 本文不仅从vb数据库体系结构的角度探讨了vb对这些外来数据库的支持,还结合了一些实例具体阐述了使用数据库存取对象变量的方法实现这些外来数据库的新建、库结构修改、显示及其运行环境设置。
关键词
visual basic access, 外来数据库,数据库
正文
存取对象变量库结构
作为一个功能较完备的windows软件开发平台,visual basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(data access object variable),直接调用odbc 2.0 api接口函数等三种访问数据库的方法。对其标准内置的ms access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。在vb中,将非access数据库称为外来数据库。对于foxpro、dbase、paradox等外来数据库。虽然借助vb的datamanager能够对这些数据库进行new、open、design、delete等操作,但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发,实现了非access格式数据库(以foxpro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补vb对这些外来数据库支持不足的可行性。
一、vb数据库的体系结构具体的vb的数据库结构。
vb数据库的核心结构是所谓的microsoft jet数据库引擎,jet引擎的作用就像是一块“面板”,在其上可以插入多种isam(indexed sequential access method,即索引顺序存取方法)数据驱动程序。jet引擎为access格式数据库提供了直接的内部(build-in)支持,这就是vb对access数据库具有丰富支持的真正原因。vb专业版中提供了foxpro、dbase(或xbase)、paradox、btrieve等数据库的isam驱动程序,这就使得vb能支持这些数据库格式。另外,其他的许多兼容isam的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,vb能支持所有兼容isam的数据库格式(前提是只需获得这些数据库的isam驱动接口程序)。
由上可见,msjet引擎实质上提供了:一个符合ansi标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在vb中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dbase、paradox本身的ddl(data definition language,即数据定义语言)和dml( data manipulation language,即数据操纵语言)是非结构化查询的,但它们仍然可以使用vb的sql语句和jet引擎来操纵。
从vb的程序代码的角度来看,odbc,isam驱动程序以及ms access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给vb应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对foxpro等数据库仍然可以使用众多的数据库存取对象变量,这就为非access数据库的访问提供了最重要的方法。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器