VB 版 (精华区)
发信人: bloom (├┝┞┟┠┡┢┣), 信区: VB
标 题: 七、用VB6进行数据库编程
发信站: 哈工大紫丁香 (2000年08月09日15:25:41 星期三), 转信
七、用VB6进行数据库编程
在VB6中,微软建议数据库编程采用基于OLE DB的ADO模型,ADO模型是一个简单、一
致的应用程序编程接口 (API),使应用程序能够访问和修改众多类型的数据源。OLE DB
为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和
文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最
少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供经济
、高性能的接口。当然,根据用途,仍然有使用DAO、RDO的时候,例如:如果采用Acce
ss 97作为桌面数据库,完全可以使用 DAO 模型。不过,还是让我们紧跟潮流、学习AD
O吧。
1.与数据库相关的术语、对象
(1)ADO (ActiveX 数据对象)
这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非
Microsoft 的技术更好的集成;为本地和远程数据提供的通用接口;可远程访问的和断
开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
(2)数据环境
是一个创建 ADO 对象的交互式的设计环境。可作为数据源供窗体或报表上的数据识
别对象使用,或者在程序中作为显露在数据环境对象之外的方法和属性进行访问。数据
环境设计器支持 UserConnection,以及拖放、层次结构、分组以及合计等。
(3)ADO Data 控件
这是一种新的、OLE DB 识别的数据源控件,其功能与内部的 Data 控件和 Remote
Data 控件十分相似,通过这种方式允许您用最少的代码来创建数据库应用程序。
(4)OLE DB 支持
OLE DB 是一组 COM 接口,它为应用程序访问保存在不同信息源中的数据提供了统
一的访问方法,这些信息源可以是关系型的,也可以是非关系型的。这些接口支持大量
可应用于数据源的 DBMS 功能,使数据源能够共享其数据。ADO 是编程人员访问 OLE D
B 的方法。所有新的数据绑定控件、数据环境、和数据报表设计器都是 OLE DB 识别的
。
(5)可视化数据库工具集成(查询设计器和数据库设计器)
可视地创建和修改数据库结构和查询:创建SQL Server 和 Oracle 数据库表,利用
拖放来创建视图、自动更改列的数据类型。
(6)数据报表
允许您利用拖放技术来快速地从任何记录集(包括层次结构的记录集)创建报表。
(7)数据源
创建用作数据源、以便绑定其它控件的用户控件和类。
(8)SQL 编辑器
允许您向现有的 SQL Server 和 Oracle 数据库添加新的存储过程。也可以使用此
编辑器来编写触发器。
(9)DataGrid 控件
一个 DBGrid 的 OLE DB 识别版本,该控件可以快速生成一个应用程序来查看和编
辑记录集。也支持新的 ADO Data 控件。
(10)DataList 控件、DataCombo 控件
这些控件是 DBList 和 DBCombo 控件的 OLE DB 版本。它们还支持新的 ADO Data
控件。
2.ADO对象层次
理解了上述概念和对象,再让我们来看一看ADO的对象层次 (图3)。组成这个层次的
各个对象被广泛的应用在 IIS/ASP 应用方面。当我们需要对程序进行精雕细刻时,就必
然需要“程序化”的控制它们——也就是要编写代码,记住了解对象层次以及每个对象
的属性、方法是非常必要的。下面是ADO编程模型中重要对象的简单介绍:
图3
(1)命令(Command)
通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令
可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。
(2)参数(Parameter)
通常,命令需要的变量部分即“参数”可以在命令发布之前进行更改。例如,可重
复发出相同的数据检索命令,但每一次均可更改指定的检索信息。
(3)记录集(Recordset)
如果命令是在表中按信息行返回数据的查询(行返回查询),则这些行将会存储在
本地。对象模型将该存储体现为 Recordset 对象。但不存在仅代表单独一个 Recordse
t 行的对象。
(4)对象模型以 Field 对象体现字段
(5)错误(Error)
错误随时可在应用程序中发生,通常是由于无法建立连接、执行命令或对某些状态
(例如,试图使用没有初始化的记录集)的对象进行操作。
(6)集合
ADO 提供“集合”,这是一种可方便地包含其他特殊类型对象的对象类型。使用集
合方法可按名称(文本字符串)或序号(整型数)对集合中的对象进行检索。
(7)事件
ADO 将“事件”的概念引入编程模型。事件是对将要发生或已经发生的某些操作的
通知。一般情况下,可用事件高效地编写包含几个异步任务的应用程序。
3.ADO应用举例
为了在程序中能够使用ADO对象,请选中菜单 [工程]/[部件],随后勾选相应的
部件即可,如 ADO Data Control;如果想在代码中操纵ADO对象,请选择菜单 [工程]
/[应用],然后选中相应的项目即可,如“Microsoft ActiveX Data Objects 2.0 Li
brary”。
利用VB6自带的Nwind.mdb 数据库,下面简单介绍如何建立一个用于输入雇员信息的
窗体:
首先为工具箱添加控件 ADO Data Control(ADODC)、ADO DataGrid(DataGird),然
后创建一个新窗体,建立一个 ADODC 的新实例到窗体的上方,设置其关键属性如下:
Name=“adodc1”
ConnectString=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Nwind.mdb”
RecordSource=“Employees”
接下来创建一个DataGrid控件的实例,设置其属性为:
DataSource=“adodc1”
随后将光标移动到 DataGrid 的上方,右击鼠标,选择“检索字段”快捷菜单。此
时您敲 F5 试试看,程序已经工作了!
如何设计一个打印员工清单的报表呢?不象VB5那样提供一个附带的第三方报表控件
,VB6提供了集成的 DataReport,使用 DataReport 设计器设计报表非常方便。其步骤
如下: (1)选择菜单“工程/添加ActiveX设计器/数据环境”, 屏幕上将出现一个设
计器窗口。右击Connection1 项,更改其属性,令其采用“Microsoft OLE DB Access
Provider”及Nwind.mdb 数据库,然后增加一个新命令“Command”,令其连接值为 Co
nnection1,数据对象的类型为表,而值为“Employees”表。
(2)选择工程菜单,建立一个DataReport,设置其属性(图4)。
图4
(3)然后在设计画面上右击鼠标,检索字段,接下来根据需要和美观重新排列各字段
的位置和大小、字体。
(4)引用报表。为了在运行时打印报表,可以在窗体上添加一个按钮,在其 Click
事件里用代码来控制报表的打印。例如:
Private Sub btnPrint_Click()
DataReport1.PrintReport
End Sub
当然,上述关于数据库的介绍才刚刚接触了ADO的一点皮毛,如果想成为高手,还请
多多练习
--
├┝┞┟┠┡┢┣ ※↑
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.226.226]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.606毫秒