内容发布更新时间 : 2024/12/26 0:55:31星期一 下面是文章的全部内容请认真阅读。
龙源期刊网 http://www.qikan.com.cn
VB数据库的访问技术
作者:邓素安
来源:《新课程·教研版》2009年第22期
摘 要:从VB数据库体系结构的角度探讨了VB对数据库的支持,并结合了一些代码具体阐述了使用DAO(Data Access Object)和RDO(Remote Data Object)两种方法,实现远程数据库的访问。
关键词:控件 数据库 接口
Visual Basic专业版是一种广泛使用的数据库编程语言,提供了对数据库应用的强大支持。VB访问数据库的方法大致有三类:使用数据绑定控件,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数。 一、VB的数据库结构
VB数据库的核心结构是MicroSoft Jet数据库引擎,JET引擎的作用是支持多种ISAM(Indexed Sequential Access Method,即索引顺序存取方法) 数据驱动程序。VB环境下Access是缺省的数据格式,对于其他的关系型数据库如FoxPro、Dbase(或 Xbase)、Paradox、Btrieve等,VB的专业版可兼容其驱动程序,这就使得VB能支持这些数据库格式。由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。 二、VB访问数据库的原则和方法 1.VB访问数据库的原则 (1)代码的重用和运行的效率
VB程序设计中,应尽可能减少代码的重复编写,提高运行效率。例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。用VBSQL通过DB-Library就做不到。而ODBC接口并不是VB访问数据库运行效率最高的方法。同样,同是使用ODBC接口的ADO的效率要高于RDO。 (2)实现的简便性,易维护性
龙源期刊网 http://www.qikan.com.cn
如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。例如:本地需要访问ISAM或Jet 类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。RDC实现起来要较RDO更容易。 (3)安全原则
这一条应根据环境和条件决定。例如局域网的网络安全性要好于广域网,因而可直接利用数据控件DC,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用RDC就不如用RDO易控制错误。
2.数据访问接口功能及含义
ADC(Advanced Data Connector):高级数据连接器, 提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。
ADO(Active Data Objects):Active 数据对象,ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使 用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、 文本文件、 图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
DAO(Data Access Objects):数据访问对象,是一种面向对象的界面接口。通过DAO/Jet 功能可以访问ISAM 数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
JET(Joint Engine Technology):数据连接性引擎技术,是一种基于工作站通过DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。
ODBC(Open Database Connectivity):开放式的数据库连接,是一种公认的关系数据源的接口界面。提供统一接口的界面,ODBC对任何数据源都未作优化。
ODBC Direct:是一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。使用在有DAO代码存在的场合,可用来访问远程数据源。
龙源期刊网 http://www.qikan.com.cn
OLE DB:是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。OLE DB不能被VB直接调用。
RDC(Remote Data Control):远程数据访问控件,是一种对RDO 数据绑定的控件。可以输出特定的结果集到数据源控件。
RDO(Remote Data Objects):远程数据对象,远程数据对象和集合为使用代码来创建和操作一个远程ODBC 数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起关系,这些关系就代表了数据库系统的逻辑结构。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC 关系数据源而设计的。
VBSQL:是Visual Basic 结构化查询语言。是一种基于API的接口方法, 几乎与C的DB-Library API相同,VBSQL只支持微软的SQL Server。VBSQL 快而且轻但不支持对象界面。 3.VB访问数据库的方法
VB访问数据库的方法很多,一般情况下分成三大类,而每一类又有很多方法。下面列出每一类,及每一类包含的方法。 (1)数据控件法
数据库绑定控件来实现数据的输入、显示、筛选等接口界面。VB支持多种数据源访问控件,在VB和COM界面接口之间起着媒介作用。这些控件提供了一种减少代码实现数据访问的途径。程序员可以使用同样的对象、属性和方法来处理各种不同的数据库格式。也可从一种数据库格式变到另一种格式(例如,将本地的Microsoft Access数据库转换为网络上的SQL Server数据库),也可在单一的查询或报表中连接来自多个不同数据库的表。 (2)数据库存取对象变量(Data Access Object Variable) 使用DAO访问数据库的对象和方法。 (3)数据接口法
目前在VB6中有效的数据访问接口方法中,有些是简单的应用程序接口界面(APIs),有些是组件对象模型界面(COM)。这两类数据库接口界面事实上在任何一种开发语言中都包括。 三、总结