论文部分内容阅读
摘要:无论是信息管理系统,还是多媒体应用系统,都需要强大的数据库来支持,访问数据库则是应用程序必须具备的基本功能之一。Visual Basic 6.0提供了多种访问数据库的方法,包括数据控件、DAO(数据访问对象)、RDO(远程数据对象)、VBSQL以及ADO(ActiveX Data Objects)等。本文分析比较了两类VB对数据库编程的常用方法,总结了各类方法在VB中对数据库编程的使用原则。
关键词:Visual Basic 6.0数据访问接口接口对象法(API)数据控件法(Data)
访问数据库是应用程序必须具备的基本功能之一,Visual Basic 6.0中访问数据库的方法繁多,各种方法究竟有何不同,孰优孰劣?本文从多方面对各种方法进行了分析与比较,归纳了在具体应用中使用各种方法的原则。
1、两类访问数据库的方法
1.1接口对象法(API)
下面介绍各种数据访问接口功能及含义:
⑴ADO即ActiveX数据对象(ActiveX Data Objects),是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据,实际是一种提供访问各种数据类型的连接机制。ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server页面上。
⑵DAO即数据访问对象(Data Access Objects),是一种应用程序编程接口(API),它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
⑶RDO即远程数据对象(Remote Data Objects),是一个到ODBC数据库系统的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。
⑷VBSQL是Visual Basic结构化查询语言,是一种基于应用程序接口(API)的接口方法,几乎与VC++的DB-Library API相同。VBSQL只支持微软的SQL Server,快而且轻但不支持对象界面。
1.2数据控件法
Data Control即DAO/Jet数据界面接口,该控件连接一个记录集(Record Set)与数据库,并处理记录。Data控件上有四个按钮,从左到右依次是:移到第一条记录、移到上一条记录、移到下一条记录、移到最后一条记录。DBC Combo、Db list、DB Grid和MSFlex Grid控件可与Data控件绑定共同管理记录集,显示或操作记录,Picture、Label、Text Box、Image、List box和Combo Box控件可连接绑定Data控件共同管理的记录集的单一字段,显示当前记录。
Data控件的重要属性及相关使用方法如下:
Connect属性定义Data控件连接Access时,定义数据库名。连接FoxPro或dBase时,定义数据库文件目录名。
Database Name属性当Data控件连接Access时,定义数据库名。连接FoxPro或dBase时,定义数据库文件的目录名。
Record Source属性定义Data控件使用的数据表名。
Record Set属性指定或返回与Data控件对应的保存有Data控件查询结果记录集的Record Set对象。
使用Data控件访问数据库的方法:
首先用其连接数据库,然后设置绑定控件属性以及显示及修改数据。Text Box控件可以简单地实现绑定,其Data Source属性指定连接的数据源。对于Data控件,该属性必须在设计时赋值。其Data Field属性指定显示的字段。使用Data控件和Text Box控件访问数据库的步骤如下:
⑴设置Data控件的Control属性指定数据库的类型;
⑵设置Data控件的Database Name属性指定数据库的文件名;
⑶设置Text Box控件的Data Field属性指定数据源;
⑷设置Text Box控件的Data Field属性指定与该控件连接的数据字段。
2、两类方法性能比较及应用说明
两类方法及其常用方法可作如下划分图:
2.1数据控件Data:
数据控件Data连接数据库是最简单的方法。只须设置该控件的Connect、Data等属性即可完成连接。可以用Data控件的Record Set对象的Add New、Edit、Delete等方法,使其完成数据指针移动等操作,实现增加、修改、删除记录等数据库的基本操作。但是使用Data控件也有局限性,它只能连接Access、dBase、FoxPro等预定义数据库。
在VB中如果使用Data控件访问数据库,那么程序的执行必须要一些大型DLL动态链接库(Dynamic Link Library)来支持。
2.2接口对象法(API):
接口对象比较多,常见有六种(见上图),在此举出四例:
(1)ADO可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。ADO使得客户端应用程序能够通过任何OLE DB提供者来访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少 和磁盘遗迹小。
(2)DAO在Visual Basic 6.0提供的一个对象库中。使用该对象可以访问Access、dBase、FoxPro等数据库,也可访问ODBC数据库。
(3)RDO最强大和最重要的特性之一是:它可以查询和处理由存储过程返回的结果,无论它有多么复杂。RDO是ODBC API之上的一个对象层,其依赖ODBC API、ODBC驱动程序和数据服务引擎,实现了对更多类型的数据库访问。RDO本身具有短小、快速的特性。
(4)VBSQL只支持微软的SQL Server。VBSQL快而且轻但不支持对象界面。
3、各方法性能比较
用VB开发基于SQL Server的数据库系统,以上几种访问SQL Server的方法各有各的特点。DAO方法是基于对象的,因而便于使用,但是它从Visual Basic到SQL Server的最慢的方式。ODBC API和VBSQL方法从本质上讲是基于程序的。ODBC API方法通用性好,允许最强的互操作性,编程简单,但速度慢于VBSQL方法。VBSQL方法通过VBSQL控件,提供了重要的SQL Server前端应用程序所需的灵活性、强大功能和良好性能。它具有真正的事件驱动及错误处理能力,完全支持异步处理、游标和计算列等。这些都是VBSQL方法超出其它方法的优势,但其编程稍复杂。RDO的优势在于它完全被集成在VB之中,可直接访问SQL Server存储过程。但微软已宣布今后不再对VBSQL/DBLib进行升级,而ODBC API函数一般的编程方式也不为人们所喜爱,RDO的应用将逐渐减少。实际编程过程中对应具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案。主要是看代码的重用、运行的效率、实现的简便性、易维护性及安全性。
关键词:Visual Basic 6.0数据访问接口接口对象法(API)数据控件法(Data)
访问数据库是应用程序必须具备的基本功能之一,Visual Basic 6.0中访问数据库的方法繁多,各种方法究竟有何不同,孰优孰劣?本文从多方面对各种方法进行了分析与比较,归纳了在具体应用中使用各种方法的原则。
1、两类访问数据库的方法
1.1接口对象法(API)
下面介绍各种数据访问接口功能及含义:
⑴ADO即ActiveX数据对象(ActiveX Data Objects),是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据,实际是一种提供访问各种数据类型的连接机制。ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server页面上。
⑵DAO即数据访问对象(Data Access Objects),是一种应用程序编程接口(API),它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
⑶RDO即远程数据对象(Remote Data Objects),是一个到ODBC数据库系统的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。
⑷VBSQL是Visual Basic结构化查询语言,是一种基于应用程序接口(API)的接口方法,几乎与VC++的DB-Library API相同。VBSQL只支持微软的SQL Server,快而且轻但不支持对象界面。
1.2数据控件法
Data Control即DAO/Jet数据界面接口,该控件连接一个记录集(Record Set)与数据库,并处理记录。Data控件上有四个按钮,从左到右依次是:移到第一条记录、移到上一条记录、移到下一条记录、移到最后一条记录。DBC Combo、Db list、DB Grid和MSFlex Grid控件可与Data控件绑定共同管理记录集,显示或操作记录,Picture、Label、Text Box、Image、List box和Combo Box控件可连接绑定Data控件共同管理的记录集的单一字段,显示当前记录。
Data控件的重要属性及相关使用方法如下:
Connect属性定义Data控件连接Access时,定义数据库名。连接FoxPro或dBase时,定义数据库文件目录名。
Database Name属性当Data控件连接Access时,定义数据库名。连接FoxPro或dBase时,定义数据库文件的目录名。
Record Source属性定义Data控件使用的数据表名。
Record Set属性指定或返回与Data控件对应的保存有Data控件查询结果记录集的Record Set对象。
使用Data控件访问数据库的方法:
首先用其连接数据库,然后设置绑定控件属性以及显示及修改数据。Text Box控件可以简单地实现绑定,其Data Source属性指定连接的数据源。对于Data控件,该属性必须在设计时赋值。其Data Field属性指定显示的字段。使用Data控件和Text Box控件访问数据库的步骤如下:
⑴设置Data控件的Control属性指定数据库的类型;
⑵设置Data控件的Database Name属性指定数据库的文件名;
⑶设置Text Box控件的Data Field属性指定数据源;
⑷设置Text Box控件的Data Field属性指定与该控件连接的数据字段。
2、两类方法性能比较及应用说明
两类方法及其常用方法可作如下划分图:
2.1数据控件Data:
数据控件Data连接数据库是最简单的方法。只须设置该控件的Connect、Data等属性即可完成连接。可以用Data控件的Record Set对象的Add New、Edit、Delete等方法,使其完成数据指针移动等操作,实现增加、修改、删除记录等数据库的基本操作。但是使用Data控件也有局限性,它只能连接Access、dBase、FoxPro等预定义数据库。
在VB中如果使用Data控件访问数据库,那么程序的执行必须要一些大型DLL动态链接库(Dynamic Link Library)来支持。
2.2接口对象法(API):
接口对象比较多,常见有六种(见上图),在此举出四例:
(1)ADO可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。ADO使得客户端应用程序能够通过任何OLE DB提供者来访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少 和磁盘遗迹小。
(2)DAO在Visual Basic 6.0提供的一个对象库中。使用该对象可以访问Access、dBase、FoxPro等数据库,也可访问ODBC数据库。
(3)RDO最强大和最重要的特性之一是:它可以查询和处理由存储过程返回的结果,无论它有多么复杂。RDO是ODBC API之上的一个对象层,其依赖ODBC API、ODBC驱动程序和数据服务引擎,实现了对更多类型的数据库访问。RDO本身具有短小、快速的特性。
(4)VBSQL只支持微软的SQL Server。VBSQL快而且轻但不支持对象界面。
3、各方法性能比较
用VB开发基于SQL Server的数据库系统,以上几种访问SQL Server的方法各有各的特点。DAO方法是基于对象的,因而便于使用,但是它从Visual Basic到SQL Server的最慢的方式。ODBC API和VBSQL方法从本质上讲是基于程序的。ODBC API方法通用性好,允许最强的互操作性,编程简单,但速度慢于VBSQL方法。VBSQL方法通过VBSQL控件,提供了重要的SQL Server前端应用程序所需的灵活性、强大功能和良好性能。它具有真正的事件驱动及错误处理能力,完全支持异步处理、游标和计算列等。这些都是VBSQL方法超出其它方法的优势,但其编程稍复杂。RDO的优势在于它完全被集成在VB之中,可直接访问SQL Server存储过程。但微软已宣布今后不再对VBSQL/DBLib进行升级,而ODBC API函数一般的编程方式也不为人们所喜爱,RDO的应用将逐渐减少。实际编程过程中对应具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案。主要是看代码的重用、运行的效率、实现的简便性、易维护性及安全性。