VB6.0 数据库访问技术与例程解析
引言
作为微软旗下一款优秀的 RAD 工具,VB 在数据库应用开发方面的能力十分强大。微
软设计了多种数据库访问方法,下面通过对 VB 访问数据库的多种技术进行深入剖析,并
总结出实际开发中的几点经验。希望能够对那 VB 的初学者有所帮助。(注意,文中所有
的描述均在 Windows 2000 professional 和 Visual Basic 6.0 的环境下进行的)
一. DAO、RDO、ODBC 和 ADO
在 VB 的开发环境中,可以使用三种数据库访问方式,它们分别是:数据访问对象
(DAO)、远程数据对象(RDO)和 ADO 对象模型。
DAO:
数据访问对象是用来显露了 Microsoft Jet 数据库引擎(最早是给 Microsoft Access 所
使用,现在已经支持其它数据库),并允许开发者通过 ODBC 直接连接到其他数据库一样,
直接连接到 Access 表。DAO 最适用于单系统应用程序或在小范围本地分布使用。其内部
已经对 Jet 数据库的访问进行了加速优化,而且其使用起来也是很方便的。所以如果数据
库是 Access 数据库且是本地使用的话,建议使用这种访问方式。
VB 已经把 DAO 模型封装成了 Data 控件,分别设置相应的 DatabaseName 属性和
RecordSource 属性就可以将 Data 控件与数据库中的记录源连接起来了。以后就可以使用
Data 控件来对数据库进行操作。
RDO
RDO(Remote Data Objects)远程数据对象是一个到 ODBC 的、面向对象的数据访
问接口,它同易于使用的 DAO style 组合在一起,提供了一个接口,形式上展示出所有
ODBC 的底层功能和灵活性。尽管 RDO 在很好地访问 Jet 或 ISAM 数据库方面受到限制,
而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多
SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了
用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。
和 DAO 一样,在 VB 中也把其封装为 RDO 控件了,其使用方法与 DAO 控件的使用方法完
全一样。
ODBC
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构
(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一
组规范,并提供了一组对数据库访问的标准 API(应用程序编程接口)。这些 API 利用
SQL 来完成其大部分任务。ODBC 本身也提供了对 SQL 语言的支持,用户可以直接将
SQL 语句送给 ODBC。
一个基于 ODBC 的应用程序对数据库的操作不依赖任何 DBMS,不直接与 DBMS 打
交道,所有的数据库操作由对应的 DBMS 的 ODBC 驱动程序完成。也就是说,不论是
FoxPro、Access 还是 Oracle 数据库,均可用 ODBC API 进行访问。由此可见,ODBC 的
最大优点是能以统一的方式处理所有的数据库。
一个完整的 ODBC 由下列几个部件组成:
1. 应用程序(Application)
ODBC 管理器(Administrator)。该程序位于 Windows 95 控制面板(Control Panel)的 32
位 ODBC 内,其主要任务是管理安装的 ODBC 驱动程序和管理数据源。
驱动程序管理器(Driver Manager)。驱动程序管理器包含在 ODBC32.DLL 中,对用户
是透明的。其任务是管理 ODBC 驱动程序,是 ODBC 中最重要的部件。