扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
关键词
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数据库的访问提供了最重要的方法。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者