ADO数据控件是数据库的其中一部分,所以想要学习数据库语言,一定要对ADO数据控件有所了解,下面就简要介绍一下ADO数据控件的相关知识。

1.1 ADO对象模型 

ADO(ActiveX Data Object)数据访问接口是Microsoft处理数据库信息的最新技术。它是一种ActiveX对象,采用了被称为OLE DB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展。ADO对象模型定义了—个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset对象,以及几个集合对象Errors、Parameters和Fields等所组成。图9.13示意了这些对象之间的关系。表9.6是对这些对象的分工描述。


图9.13ADO对象模型

表9.6 ADO对象描述

对象名

描 述

Connection

连接数据来源

Command

从数据源获取所需数据的命令信息

Recordset

所获得的一组记录组成的记录集

Error

在访问数据时,由数据源所返回的错误信息

Parameter

与命令对象有关的参数

Field

包含了记录集中某个字段的信息

要想在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。引用方式是执行“工程”菜单的“引用”命令,启动引用对话框,在清单中选取“MicrosoftActiveXDataObjects 2.0 Library”选项。

1.2 使用ADO数据控件

在使用ADO数据控件前,必须先通过“工程|部件”菜单命令选择"Microsoft ADO Data Control6.0(OLEDB)”选项,将ADO数据控件添加到工具箱。ADO数据控件与VisualBasic的内部Data控件很相似,它允许使用ADO数据控件的基本属性快速地创建与数据库的连接。

1.ADO数据控件的基本属性

(1)ConnectionString属性

ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接的相关信息,ConnectionString属性带有4个参数,如表9.7所示。

(2)RecordSource属性

RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用SQL查询语言的一个查询字符串。

表9.7 ConnectionString属性参数

参数

描述

Provide

指定数据源的名称

FileName

指定数据源所对应的文件名

RemoteProvide

在远程数据服务器打开一个客户端时所用的数据源名称

RemoteServer

在远程数据服务器打开一个主机端时所用的数据源名称

(3)ConnectionTimeout属性

用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。

(4)MaxRecords属性

定义从一个查询中最多能返回的记录数。

2. ADO数据控件的方法和事件

ADO数据控件的方法和事件与Data控件的方法和事件完全一样。

3.设置ADO数据控件的属性

下面通过使用ADO数据控件连接Student.mdb数据库来说明ADO数据控件属性的设置。

步骤1:在窗体上放置ADO数据控件,控件名采用默认名“Adodcl”。

步骤2:单击ADO控件属性窗口中的ConnectionString属性右边的“…”按钮,弹出“属性页”对话框。在该对话框中允许通过三种不同的方式连接数据源:

“使用连接字符串”只需要单击“生成”按钮,通过选项设置自动产生连接字符串。

“使用Data Link文件”表示通过—个连接文件来完成。

“使用ODBC数据资源名称”可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制。

步骤3:采用“使用连接字符串”方式连接数据源。单击“生成”按钮,打开“数据链接属性”对话框。在“提供者”选项卡内选择一个合适的OLE DB数据源,Student.mdb是Access数据库,选择“Microsoft Jet 3.51 OLE DB Provider”选项。然后单击“下—步”按钮或打开“连接”选项卡,在对话框内指定数据库文件,这里为Student.mdb。为保证连接有效,可单击“连接”选项卡右下方的“测试连接”按钮,如果测试成功则关闭ConnectionString属性页。

步骤4:单击ADO控件属性窗口中的RecordSource属性右边的“…”按钮,弹出记录源属性页对话框。

在“命令类型”下拉式列表框中选择“2-adCmdTable”选项,在“表或存储过程名称”下拉式列表框中选择Student.mdb数据库中的“基本情况”表,关闭记录源属性页。此时,已完成了ADO数据控件的连接工作。

由于ADO数据控件是一个ActiveX控件,也可以用鼠标右键单击ADO数据控件,在弹出的快捷菜单中选择“ADODC属性”菜单命令,打开ADO数据控件属性页对话框,一次完成步骤1~步骤4的全部设置。

能够熟练的使用ADO数据控件,数据库学习就不再是难题了。

1.3ADO数据控件上新增绑定控件的使用

随着ADO对象模型的引入,Visual Basic 6.0除了保留以往的一些绑定控件外,又提供了一些新的成员来连接不同数据类型的数据。这些新成员主要有DataGrid、DataCombo、DataList、DataReport、MSHFlexGrid、MSChart控件和MonthView等控件。这些新增绑定控件必须使用ADO数据控件进行绑定。

Visual Basic 6.0在绑定控件上不仅对DataSource和DataField属性在连接功能上作了改进,又增加了DataMember与DataFormat属性使数据访问的队列更加完整。DataMember属性允许处理多个数据集,DataFormat属性用于指定数据内容的显示格式。

例9.6使用ADO数据控件和DataGrid数据网格控件浏览数据库Student.mdb,并使之具有编辑功能。

在窗体上放置ADO数据控件,并按前面介绍的ADO数据控件属性设置过程连接数据库Student.mdb中的基本情况表。

DataGrid控件允许用户同时浏览或修改多个记录的数据。在使用DataGrid控件前也必须先通过“工程|部件”菜单命令选择“MicrosoftDataGridControl 6.0(OLEDB)”选项,将DataGrid控件添加到工具箱,再将DataGrid控件放置到窗体上。设置DataGrid网格控件的DataSource属性为Adodc1,就可将DataGrid1绑定到数据控件Adodc1上。

显示在DataGrid网格内的记录集,可以通过DataGrid控件的AllowAddNew、AllowDelete和AllowUpdate属性设置控制增,删、改操作。

如果要改变DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择“检索字段”选项。Visual Basic提示是否替换现有的网格布局,单击“是”按钮就可将表中的字段装载到DataGrid控件中。再次用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择“编辑”选项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。用鼠标右键单击需要修改的字段名,在弹出的快捷菜单中选择“删除”选项,就可从DataGrid控件中删除该字段,也可选择“属性”选项修改字段的显示宽度或字段标题。