在vb中adodc控件和data控件有什么区别???

希望给一个详细说明... 希望给一个详细说明 展开
 我来答
001神奇工厂
2006-05-26 · TA获得超过782个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:596万
展开全部
ADO Data 控件

ADO Data 控件使用 Microsoft ActiveX 数据对象(ADO) 来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLEDB 规范的数据源。使用 Visual Basic 的类模块也可以很方便地创建子集的数据提供者。

尽管可以在应用程序中直接使用 ActiveX 数据对象,但 ADO Data 控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。

图 7.4 ADO Data 控件

在 Visual Basic 的“工具箱”中不少控件都可以作为数据绑定的控件,包括复选框、组合框、图像、标签、列表框、图片框、以及文本框控件等。此外,Visual Basic 还包括了若干种数据绑定的 ActiveX 控件,诸如 DataGrid、DataCombo、Chart、以及 DataList 控件等。用户也可以创建自己的数据绑定的 ActiveX 控件,或从其他开发商购买控件。

Visual Basic以前的版本提供了内在的 Data 控件和 Remote Data 控件 (RDC) 来进行数据访问。这两种控件仍包括在 Visual Basic 中,以提供向后兼容。不过,因为 ADO 的适应性更广,因此建议用户使用 ADO Data 控件来创建新的数据库应用程序。

详细信息 关于数据绑定的控件的完整列表位于“绑定到 ADO Data 控件的控件”中。要了解如何使用这些内在的Data 控件或 Remote Data 控件,请参阅“使用 Data 控件”或“使用 Remote Data 控件”。关于创建数据提供者的详细信息,请参阅“创建数据识别类”。

可能的用法
连接一个本地数据库或远程数据库。

打开一个指定的数据库表,或定义一个基于结构化查询语言 (SQL) 的查询、或存储过程、或该数据库中的表的视图的记录集合。

将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。

添加新的记录,或根据对显示在绑定的控件中的数据的任何更改来更新一个数据库。
要创建一个客户、或前端数据库应用程序,应在窗体中添加 ADO Data 控件,以及其它所需要的任何 Visual Basic 控件。可以根据您的需要在窗体中放置多个 ADO Data 控件。不过,请注意,这种控件是一种相当“昂贵”的创建连接的方法,应在第一个控件至少有两个连接,且以后的每个控件至少多一个连接时使用。

用最少的代码创建一个前端数据库应用程序
通过在设计时设置一些属性,可以用最少的代码来创建一个数据库应用程序。如果正在使用OLE DB 数据源,则相应的Microsoft 数据链接名称(Data Link Name)(.MDL) 必须是在您的机器上创建的。请参阅“创建 Northwind 的OLE DB Data Link”,以获得一个循序渐进的示例。

要创建一个简单的前端数据库应用程序

窗体上放置一个 ADO Data 控件。(该图标的工具提示为 "ADODC"。)
如果该控件不在“工具箱”中,请按 CTRL+T 键,显示“部件”对话框。在这个“部件”对话框中,单击“Microsoft ADO Data Control”。

在“工具箱”中,单击选定“ADO 数据控件”。然后按 F4 键显示“属性”窗口。

在“属性”窗口中,单击“ConnectionString”显示“ConnectionString”对话框。

如果您已经创建了一个 Microsoft 数据链接文件(Data Link file)(.UDL),请选择“使用 OLE DB 文件”并单击“浏览”,以找到计算机上的文件。如果使用 DSN,则单击“使用 ODBC 数据源名”,并从框中选择一个 DSN,或单击“新建”创建一个。如果想创建一个连接字符串,请选择“使用 ConnectionString”,单击“生成”,然后使用“数据链接属性”对话框创建一个连接字符串。在创建连接字符串后,单击“确定”。ConnectionString 属性将使用一个类似于下面这一行的字符串来填充:
driver={SQL Server};server=bigsmile;uid=sa;pwd=pwd;database=pubs

在“属性”窗口中,将“记录源”属性设置为一个 SQL 语句。例如:
SELECT * FROM Titles WHERE AuthorID = 72

在访问一个表时,应始终包括一个 WHERE 子句。如果这样做失败,则会锁定整个表,这样对其他用户将是一个严重的障碍。

在窗体上再放置一个“文本框”控件,用来显示数据库信息。

在其“属性”窗口中,将 Text1 的“数据源”属性设为 ADO Data 控件的名称 (ADODC1)。这样就将这个文本框和 ADO Data 控件绑定在一起。

在其“属性”窗口中,单击“数据字段”将下拉得到一个可用的字段列表。单击所要显示的字段的名称。

对希望访问的其它每个字段重复第 6、7、8 步。

按 F5 键运行该应用程序。用户可以在 ADO Data 控件使用四个箭头按钮,从而允许用户地到达数据的开始、记录的末尾、或在数据内从记录移动到另一个记录。
在程序中设置 ConnectionString、Source、DataSource、以及 DataField
下面的代码演示了如何在程序中设置这四个属性。注意设置 DataSource 属性要使用 Set 语句。

Private Sub Form_Load()
With ADODC1
.ConnectionString = "driver={SQL Server};" & _
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
. RecordSource = "Select * From Titles Where AuthorID = 7"
End With
Set Text1.DataSource = ADODC1
Text1.DataField = "Title"
End Sub
ADO Data 控件的事件
ADO Data 控件提供了若干个可以编程的事件。下表说明了这些事件及其何时产生,不过这个表不是一个关于这些事件何时发生的所有条件的完整列表。更完整的信息,请参阅各个事件的参考主题。

详细信息 如果试图循序渐进地使用 ADO Data 控件,请参阅“使用 DataGrid 和 ADO 数据控件创建一个简单的数据库应用程序”,“ 创建一个简单的 DataCombo 应用程序”,以及“创建一个连接 DataList 控件的 DataGrid”。

Data 控件

使用三种类型的 Recordset 对象中的任何一种来提供对存储在数据库中数据的访问。Data 控件允许从一个记录移动到另一个记录,并显示和操纵来自被连结的控件的记录的数据。如果没有 Data 控件或等价的数据源控件,比如 RemoteData 控件,窗体上的被连结数据觉察控件不能自动访问数据。

语法

Data

说明

可以使用 Data 控件来执行大部分数据访问操作,而根本不用编写代码。与 Data 控件相连结的数据觉察控件自动显示来自当前记录的一个或多个字段的数据,或者,在某些情况下,显示来自当前记录旁边的一个记录集合中的一个或者多个字段中的数据。Data 控件在当前记录上执行所有操作。

如果 Data 控件被指示移动到一个不同的记录,则所有被连结的控件自动把当前记录的任何改变传递给 Data 控件以保存在数据库中。Data 控件移动到被指定的记录,同时把当前记录中的数据传回被连结的控件,并在那里显示。

Data 控件自动处理一些意外事件包括空记录集,添加新记录,编辑和更新现有记录,处理某些类型的错误。然而,在更复杂的应用程序里,则需要捕获 Data 控件不能处理的某些错误类型。例如,当 Microsoft Jet 数据库引擎访问数据文件有问题、没有权限或不能按照代码执行查询时,会导致可捕获的错误。如果错误发生在应用过程开始之前或由于某些内部错误,Error 事件被触发。

被连结的控件
当与 Data 控件相连结时,DataList、 DataCombo、 DataGrid,和 MSHFlexGrid 控件都能管理记录集合。所有这些控件都允许一次显示或操作几个记录。

内部的 Picture、Label、TextBox、CheckBox、Image、OLE、ListBox 和 ComboBox 控件也是数据觉察的,能和由 Data 控件管理的 Recordset 的一个字段相连结。其它的数据觉察控件,如 MaskedEdit 和 RichTextBox 控件,可以在专业版和企业版中得到,也可以由第三方提供。

操作
一旦应用程序开始,Visual Basic 就用 Data 控件属性打开选定的数据库,创建 Database 对象和创建 Recorset 对象。Data 控件的 Database 和 Recordset 属性引用新创建的,可独立于 Data 控件操作的 Database 和 Recorset 对象— 带有或没有被连结的控件。Data 控件在其所在窗体的初始化 Form_Load 事件之前被初始化。在初始化阶段中发生任何错误都将导致一个不可捕获的错误。

当 Visual Basic 用 Jet Database 引擎创建一个 Recordset 时,其它的 Visual Basic 操作或事件只能等到该操作完成后才能发生。然而,在 Recordset 创建过程中允许其它基于 Windows 的应用程序继续执行。当 Jet 引擎创建 Recordset 时,按 CTRL+BREAK 键,操作将被终止,导致一个可捕获的错误,而 Data 控件的 Recordset 属性被设置成 Nothing。在设计时内,第二次按 CTRL+BREAK 键会使 Visual Basic 显示 Debug 窗口。

当使用 Data 控件创建 Recordset 对象或用代码创建 Recordset 对象并把它赋值给 Data 控件时,Microsoft Jet 数据库引擎会自动移居到 Recordset 对象上。其结果为,书签(对于快照类型的 Recordset 对象,记录集数据)被保存在局部内存中,用户不必操纵 Data 控件,也不必在代码中调用 MoveLast 方法。用于创建 Recordset 的页面锁也被释放得更快,以使其它的 Recordset 对象能访问相同的数据。在代码中创建但是没有赋值给 Data 控件的 Recordset 对象不能自动被 Jet 引擎移居。请通过代码移居这些对象。由于 Data 控件以后台方式移居它的 Recordset,所以附加的 Recordset 可能被创建。

可以用鼠标操纵 Data 控件,由一个记录移动到另一个记录或移动到 Recordset 的开始或结尾。EOFAction 和 BOFAction 属性决定了当用户使用鼠标移动到 Recordset 的开始或结尾时将发生的事情。不能将焦点置于 Data 控件上。

有效性检查
使用 Validate 事件和 DataChanged 属性对写入数据库的记录执行合法性检查。

数据访问对象
在过程中可以使用由 Data 控件创建的 Database 和 Recordset 数据访问对象。每个 Database 和 Recorset 对象都有自己的属性和方法,可以编写使用这些属性和方法的过程来操纵数据。

例如,Recorset 对象的 MoveNext 方法把当前记录移动到 Recordset 中的下一个记录。要调用这个方法,可以使用此代码:

Data1.Recordset.MoveNext

Data 控件能访问 Jet 引擎 3.0 版中三种 Recorset 对象的任何一种。如果不选择记录集类型,则 dynaset 型的 Recordset 被创建。

在许多情况下,创建的 Recorset 对象的缺省类型和配置效率不是很高。也就是说,可能不需要一个具有可更新的,支持全屏滚动的,keyset 类型的光标访问数据。例如,一个只读的,只能向前的,快照类型的 Recordset 创建起来可能比缺省光标快得多。就现有情况尽可能选择最有效的类型、Exclusive、Options 和 ReadOnly 属性。

注意 使用 Data 控件时用于决定 Recordset 类型的常数不同于用于确定的已创建的 Recorset 类型的或者用来以 OpenRecordset 方法创建 Recorset 对象的常数。

为选择特定的 Recordset 类型,把 Data 控件的 V 属性设成:

Recordset 类型 值 常数
表 0 vbRSTypeTable
Dynaset 1 (缺省)vbRSTypeDynaset
快照 2 vbRSTypeSnapshot

重点 Data 控件不能用于访问通过 dbForwardOnly 选项位设置创建的 Recorset 对象。

专业版和企业版
就数据访问而言,Visual Basic 的学习版、专业版和企业版间的主要差别是创建新数据访问对象的能力。在学习版中,不能在代码中声明(带有 Dim 关键字的)变量为数据访问对象。这意味着只有 Data 控件能创建 Database 和 Recorset 对象。

在专业版和企业版中,可以创建新的 Recordset 对象并把它赋值给 Data 控件的 Recordset 属性。任何和 Data 控件相连的被连结的控件允许在创建的 Recordset 中操纵记录。要保证被连结的控件的 DataField 属性赋值给在新的 Recordset 中合法的字段名。

存储的查询
当使用 Data 控件时,另外一个重要选项是执行存储的查询的能力。如果事先创建 QueryDef 对象,Data 控件能执行它并用 QueryDef 对象保存的 SQL、Connect 和其它属性创建 Recordset。为了执行 QueryDef,请把 Data 控件的 RecordSource 属性设置成 QueryDef 的名字并使用 Refresh 方法。

如果所保存的 QueryDef 包含参数,则需要建立 Recordset 并把它传递给 Data 控件。

BOF/EOF 处理
当遇到无记录的 Recordset 时,Data 控件也能处理所发生的情况。通过改变 EOFAction 属性,可以通过对 Data 控件编程以自动进入 AddNew 模式。

通过使用 Align 属性,能对 Data 控件编程以使它自动移动到它父窗体的顶部或底部。在任何一种情况下,当父窗体改变大小时,Data 控件水平地改变以大小适应父窗体的宽度。该属性允许 Data 控件放在 MDI 窗体中而不必包含 Picture 控件。

参考资料: MSDN

百度网友13cf20096
2006-05-26 · TA获得超过340个赞
知道答主
回答量:498
采纳率:0%
帮助的人:199万
展开全部
adodc是用来链接数据库的,在上面点右键就会出现一些关于链接数据库的选项,一般都是链接access。data是日期控件,也就是所谓的万年历。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘉河受从
2020-07-12 · TA获得超过3753个赞
知道大有可为答主
回答量:3065
采纳率:26%
帮助的人:178万
展开全部
ADO
Data
控件
ADO
Data
控件使用
Microsoft
ActiveX
数据象(ADO)
快速建立数据绑定控件数据提供者间连接数据绑定控件任何具数据源属性控件数据提供者任何符合
OLEDB
规范数据源使用
Visual
Basic
类模块便创建集数据提供者
尽管应用程序直接使用
ActiveX
数据象
ADO
Data
控件作图形控件优势(具向前向按钮)及易于使用界面使您用少代码创建数据库应用程序

7.4
ADO
Data
控件
Visual
Basic
工具箱少控件都作数据绑定控件包括复选框、组合框、图像、标签、列表框、图片框、及文本框控件等外Visual
Basic
包括若干种数据绑定
ActiveX
控件诸
DataGrid、DataCombo、Chart、及
DataList
控件等用户创建自数据绑定
ActiveX
控件或其发商购买控件
Visual
Basic前版本提供内
Data
控件
Remote
Data
控件
(RDC)
进行数据访问两种控件仍包括
Visual
Basic
提供向兼容
ADO
适应性更广建议用户使用
ADO
Data
控件创建新数据库应用程序
详细信息
关于数据绑定控件完整列表位于绑定
ADO
Data
控件控件要解何使用些内Data
控件或
Remote
Data
控件请参阅使用
Data
控件或使用
Remote
Data
控件关于创建数据提供者详细信息请参阅创建数据识别类
能用
连接本数据库或远程数据库
打指定数据库表或定义基于结构化查询语言
(SQL)
查询、或存储程、或该数据库表视图记录集合
数据字段数值传递给数据绑定控件些控件显示或更改些数值
添加新记录或根据显示绑定控件数据任何更改更新数据库
要创建客户、或前端数据库应用程序应窗体添加
ADO
Data
控件及其所需要任何
Visual
Basic
控件根据您需要窗体放置
ADO
Data
控件请注意种控件种相昂贵创建连接应第控件至少两连接且每控件至少连接使用
用少代码创建前端数据库应用程序
通设计设置些属性用少代码创建数据库应用程序使用OLE
DB
数据源则相应Microsoft
数据链接名称(Data
Link
Name)(.MDL)
必须您机器创建请参阅创建
Northwind
OLE
DB
Data
Link获循序渐进示例
要创建简单前端数据库应用程序
窗体放置
ADO
Data
控件(该图标工具提示
"ADODC")
该控件工具箱请按
CTRL+T
键显示部件框部件框单击Microsoft
ADO
Data
Control
工具箱单击选定ADO
数据控件按
F4
键显示属性窗口
属性窗口单击ConnectionString显示ConnectionString框
您已经创建
Microsoft
数据链接文件(Data
Link
file)(.UDL)请选择使用
OLE
DB
文件并单击浏览找计算机文件使用
DSN则单击使用
ODBC
数据源名并框选择
DSN或单击新建创建想创建连接字符串请选择使用
ConnectionString单击使用数据链接属性框创建连接字符串创建连接字符串单击确定ConnectionString
属性使用类似于面行字符串填充:
driver={SQL
Server};server=bigsmile;uid=sa;pwd=pwd;database=pubs
属性窗口记录源属性设置
SQL
语句例:
SELECT
*
FROM
Titles
WHERE
AuthorID
=
72
访问表应始终包括
WHERE
句做失败则锁定整表其用户严重障碍
窗体再放置文本框控件用显示数据库信息
其属性窗口
Text1
数据源属性设
ADO
Data
控件名称
(ADODC1)文本框
ADO
Data
控件绑定起
其属性窗口单击数据字段拉用字段列表单击所要显示字段名称
希望访问其每字段重复第
6、7、8


F5
键运行该应用程序用户
ADO
Data
控件使用四箭按钮允许用户达数据始、记录末尾、或数据内记录移另记录
程序设置
ConnectionString、Source、DataSource、及
DataField
面代码演示何程序设置四属性注意设置
DataSource
属性要使用
Set
语句
Private
Sub
Form_Load()
With
ADODC1
.ConnectionString
=
"driver={SQL
Server};"
&
_
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
.
RecordSource
=
"Select
*
From
Titles
Where
AuthorID
=
7"
End
With
Set
Text1.DataSource
=
ADODC1
Text1.DataField
=
"Title"
End
Sub
ADO
Data
控件事件
ADO
Data
控件提供若干编程事件表说明些事件及其何产表关于些事件何发所条件完整列表更完整信息请参阅各事件参考主题
详细信息
试图循序渐进使用
ADO
Data
控件请参阅使用
DataGrid
ADO
数据控件创建简单数据库应用程序
创建简单
DataCombo
应用程序及创建连接
DataList
控件
DataGrid
Data
控件
使用三种类型
Recordset
象任何种提供存储数据库数据访问Data
控件允许记录移另记录并显示操纵自连结控件记录数据没
Data
控件或等价数据源控件比
RemoteData
控件窗体连结数据觉察控件能自访问数据

Data
说明
使用
Data
控件执行部数据访问操作根本用编写代码与
Data
控件相连结数据觉察控件自显示自前记录或字段数据或者某些情况显示自前记录旁边记录集合或者字段数据Data
控件前记录执行所操作
Data
控件指示移同记录则所连结控件自前记录任何改变传递给
Data
控件保存数据库Data
控件移指定记录同前记录数据传连结控件并显示
Data
控件自处理些意外事件包括空记录集添加新记录编辑更新现记录处理某些类型错误更复杂应用程序则需要捕获
Data
控件能处理某些错误类型例
Microsoft
Jet
数据库引擎访问数据文件问题、没权限或能按照代码执行查询导致捕获错误错误发应用程始前或由于某些内部错误Error
事件触发
连结控件

Data
控件相连结DataList、
DataCombo、
DataGrid,
MSHFlexGrid
控件都能管理记录集合所些控件都允许显示或操作几记录
内部
Picture、Label、TextBox、CheckBox、Image、OLE、ListBox
ComboBox
控件数据觉察能由
Data
控件管理
Recordset
字段相连结其数据觉察控件
MaskedEdit
RichTextBox
控件专业版企业版由第三提供
操作
旦应用程序始Visual
Basic

Data
控件属性打选定数据库创建
Database
象创建
Recorset
象Data
控件
Database
Recordset
属性引用新创建独立于
Data
控件操作
Database
Recorset
象-
带或没连结控件Data
控件其所窗体初始化
Form_Load
事件前初始化初始化阶段发任何错误都导致捕获错误
Visual
Basic

Jet
Database
引擎创建
Recordset

Visual
Basic
操作或事件能等该操作完才能发
Recordset
创建程允许其基于
Windows
应用程序继续执行
Jet
引擎创建
Recordset

CTRL+BREAK
键操作终止导致捕获错误
Data
控件
Recordset
属性设置
Nothing设计内第二按
CTRL+BREAK
键使
Visual
Basic
显示
Debug
窗口
使用
Data
控件创建
Recordset
象或用代码创建
Recordset
象并赋值给
Data
控件Microsoft
Jet
数据库引擎自移居
Recordset
象其结书签(于快照类型
Recordset
象记录集数据)保存局部内存用户必操纵
Data
控件必代码调用
MoveLast
用于创建
Recordset
页面锁释放更快使其
Recordset
象能访问相同数据代码创建没赋值给
Data
控件
Recordset
象能自
Jet
引擎移居请通代码移居些象由于
Data
控件台式移居
Recordset所附加
Recordset
能创建
用鼠标操纵
Data
控件由记录移另记录或移
Recordset
始或结尾EOFAction
BOFAction
属性决定用户使用鼠标移
Recordset
始或结尾发事情能焦点置于
Data
控件
效性检查
使用
Validate
事件
DataChanged
属性写入数据库记录执行合性检查
数据访问象
程使用由
Data
控件创建
Database
Recordset
数据访问象每
Database
Recorset
象都自属性编写使用些属性程操纵数据
例Recorset

MoveNext
前记录移
Recordset
记录要调用使用代码:
Data1.Recordset.MoveNext
Data
控件能访问
Jet
引擎
3.0
版三种
Recorset
象任何种选择记录集类型则
dynaset

Recordset
创建
许情况创建
Recorset
象缺省类型配置效率高说能需要具更新支持全屏滚keyset
类型光标访问数据例读能向前快照类型
Recordset
创建起能比缺省光标快现情况尽能选择效类型、Exclusive、Options
ReadOnly
属性
注意
使用
Data
控件用于决定
Recordset
类型数同于用于确定已创建
Recorset
类型或者用
OpenRecordset
创建
Recorset
象数
选择特定
Recordset
类型
Data
控件
V
属性设:
Recordset
类型



0
vbRSTypeTable
Dynaset
1
(缺省)vbRSTypeDynaset
快照
2
vbRSTypeSnapshot
重点
Data
控件能用于访问通
dbForwardOnly
选项位设置创建
Recorset

专业版企业版
数据访问言Visual
Basic
习版、专业版企业版间主要差别创建新数据访问象能力习版能代码声明(带
Dim
关键字)变量数据访问象意味着
Data
控件能创建
Database
Recorset

专业版企业版创建新
Recordset
象并赋值给
Data
控件
Recordset
属性任何
Data
控件相连连结控件允许创建
Recordset
操纵记录要保证连结控件
DataField
属性赋值给新
Recordset
合字段名
存储查询
使用
Data
控件另外重要选项执行存储查询能力事先创建
QueryDef
象Data
控件能执行并用
QueryDef
象保存
SQL、Connect
其属性创建
Recordset执行
QueryDef请
Data
控件
RecordSource
属性设置
QueryDef
名字并使用
Refresh
所保存
QueryDef
包含参数则需要建立
Recordset
并传递给
Data
控件
BOF/EOF
处理
遇记录
Recordset
Data
控件能处理所发情况通改变
EOFAction
属性,通
Data
控件编程自进入
AddNew
模式
通使用
Align
属性能
Data
控件编程使自移父窗体顶部或底部任何种情况父窗体改变Data
控件水平改变适应父窗体宽度该属性允许
Data
控件放
MDI
窗体必包含
Picture
控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式