10.3 使用数据集访问和修改数据
DataSet对象表示数据源中数据的本地副本,它是Microsoft NET
Framework的一个主要创新。DataSet对象本身可用来引用数据源,然而为了担当真正的数据管理工具,DataSet必须能够与数据源交互。为
了实现该功能,.NET提供了DataAdapter类。
10.3.1 DataAdapter类(1)
1.DataAdapter
DataAdapter对象充当DataSet和数据源之间用于检索和保存数据的桥梁。DataAdapter类代表用于填充DataSet以及更
新数据源的一组数据库命令和一个数据库连接。DataAdapter对象是ADO.NET数据提供程序的组成部分,该数据提供程序还包括连接对象、数据读
取器对象和命令对象。
每个DataAdapter都在DataSet中的单个DataTable对象和SQL语句或存储过程所产生的单个结果集之间交换数据。可以使用
DataAdpater在DataSet和数据源之间交换数据。一个常见例子是应用程序将数据从数据库读到DataSet中,然后将DateSet中的更
改写回到数据库中。然而,DataAdapter可以从任何数据源中检索和更新数据(不仅仅是数据库),例如从Microsoft
BizTalk服务器应用程序将数据读取到DataSet。
XxxDataAdapter类提供了方便地管理断开式功能性的途径,如图9-12所示。它用于填充数据集,然后以数据集的任何更改来更新相应的数据源。
|
(点击查看大图)图10-13 XxxDataAdapter对象模型 |
DataAdapter是为将查询结果存储到DataSet对象和DataTable对象中而设计的。Command对象使用户能够通过
DataReader对象来检查查询结果。DataAdapter对象由一系列Command对象和决定DataAdapter如何与DataSet通信
的映射属性的集合组成。
当使用DataAdapter将查询结果存储到DataSet时,DataAdapter使用Command与数据库进行通信。在内
部,DataAdapter使用DataReader读取结果,然后将该结果复制到DataSet的新行中。DataAdapter用来从数据库中读取数
据的Command对象存储在DataAdapter对象的SelectCommand属性中。
DataAdapter对象还有其他一些属性也包含Command对象:InsertCornmand、UpdateCommand和DeleteCommand。DataAdapter使用这些Command对象将保存在DataSet中的更改提交到数据库。
可以使用数据适配器来填充DataSet,并将数据的更改传送回数据源。
使用带SQL Server .NET数据提供程序的DataSet的步骤如下:
(1)创建SqlConnection对象,连接到SQL Server数据库。
(2)创建SqlDataAdapter对象。该对象包含能够指向4个SqlCommand对象的属性,这些对象指定SQL语句在数据库中进行SELECT、INSERT、DELETE和UPDATE等数据操作。
(3)创建包含一个或多个表的DataSet对象。
(4)使用SqlDataAdapter对象,通过调用Fill方法来填充DataSet表。SqlDataAdapter隐式执行包含SELECT语句的SqlCommand对象。
(5)修改DataSet中的数据。可以通过编程方式来执行修改,或者将DataSet绑定到用户界面控件(例如DataGrid),然后在控件中更改数据。
(6)在准备将数据更改返回数据库时,可以使用SqlDataAdapter并调用Update方法。SqlDataAdapter对象隐式使用其SqlCommand对象对数据库执行INSERT、DELETE和UPDATE语句。
2.DataAdapter类的属性和方法
尽管DataAdapter类包含很多属性和方法,但很可能每次只使用它们的某个子集。使用DataAdapter可对来自数据源的记录进行操作。
通过使用4个DataAdapter属性(指定执行某条SQL语句或调用某个存储过程)中的一个,可以指定所要执行的操作。这些属性实际上是
SqlCommand或OleDbCommand类的实例对象:
SelectCommand引用从数据源中检索行的Command对象。
InsertCommand引用将插入的行从DataSet写入数据源的Command对象。
UpdateCommand引用将修改的行从DataSet写入数据源的Command对象。
DeleteCommand引用从数据源中删除行的Command对象。
使用DataAdapter提供的方法,可以填充DataSet或将DataSet表中的更改传送到相应的数据存储区。这些方法包括:
Fill。使用SqlDataAdapter(或OleDbDataAdapter)的这个方法,从数据源增加或刷新行,并将这些行放到DataSet表中。Fill方法调用SelectCommand属性所指定的SELECT语句。
Update。使用DataAdapter对象的这个方法,将DataSet表的更改传送到相应的数据源中。该方法为DataSet的DataTable中每一指定的行调用相应的INSERT、UPDATE或DELETE命令。
分享到:
相关推荐
VB.NET 数据库基础教程之全面解析 DataAdapter 类 DataAdapter 类是 VB.NET 中数据库开发中一个重要的组件,它扮演着数据库和程序之间的桥梁角色,能够执行 Command 对象,从数据库中检索数据,并将其填充到 ...
封装类和DataAdapter控件的结合使用是高效、安全地处理数据库操作的一种方式。本教程将详细解释如何利用封装类与DataAdapter来实现对数据库的读写操作。 首先,让我们理解什么是封装类。在面向对象编程中,封装是一...
3. **命令构建器**:为了简化开发,.NET框架提供了一个名为`CommandBuilder`的类,它可以自动生成用于更新数据库的命令,只需指定一个SelectCommand,其余的InsertCommand、UpdateCommand和DeleteCommand将自动创建...
DataAdapter 类是 DataSet 类与数据源之间的桥接器,可以检索与保存数据。DataAdapter 类通过 Fill 方法来修改 DataSet 中的数据,以便与数据源中的数据相匹配;通过 Update 方法来修改数据源中的数据,以便与 ...
4. **CommandBuilder**: 为了简化`DataAdapter`的配置,可以使用`SqlCommandBuilder`类自动生成所需的INSERT、UPDATE和DELETE命令。只需提供一个SELECT命令,`SqlCommandBuilder`就能推断出其他命令的结构。 5. **...
在实际应用中,我们还可以利用`CommandBuilder`类来自动生成`InsertCommand`、`DeleteCommand`和`UpdateCommand`,从而简化编码工作。当设置了`SelectCommand`后,可以通过以下步骤启用自动生成命令功能: 1. **...
在C#2005中,开发人员可以使用新的DataGridView控件,结合BindingSource和DataAdapter类,实现对数据表的插入、删除、修改和更新等基本操作。相较于C#2003中的DataGrid控件,DataGridView提供了更强大的功能和更灵活...
3. **SqlCommandBuilder的使用**:SqlCommandBuilder是一个辅助类,用于自动生成用于更新数据库的SQL命令。当你仅提供了一个SelectCommand,SqlCommandBuilder可以根据这个查询来构建Insert、Update和Delete命令。...
3. 填充数据:使用DataAdapter类填充数据到DataSet中。 4. 操作数据:使用DataSet类操作数据。 Visual Studio Microsoft Visual Studio(简称VS)是微软公司的开发工具包系列商品,是一个基本完整的开发工具集。...
* DataAdapter类:称为数据适配器,是DataSet和数据源之间交换数据的桥梁。通过DataAdapter对象的Fill方法,将DataAdapter对象的查询属性SelectCommand获取的数据填充到已经定义的DataSet中;通过DataAdapter对象的...
数据库连接通常通过DataAdapter类建立,该类负责从数据库检索数据并填充DataSet。DataSet与数据库之间不存在直接连接,而是通过DataAdapter作为桥梁,执行SQL命令并传输数据。DataAdapter有两个关键方法:Fill用于...
4、DataAdapter类用于将数据填充到DataSet或DataTable。 5、DataSet类用于无连接的储存多个表的数据,并包含表与表之间的关联关系。 6、DataTable类用于存储一个表的数据。 ASP.NET中自定义用户控件 在ASP.NET中,...
**表:`DataAdapter`类的`Fill`方法说明** | 函数定义 | 参数说明 | 函数说明 | |-----------------------------------------------|--------------------------------------------------|------------------------...
4. **DataAdapter类**:DataAdapter是ODP.NET中用于填充DataSet或DataTable的对象,它在数据库和数据集之间提供桥梁,实现数据的双向同步。 5. **OracleTransaction类**:处理数据库事务,确保数据的一致性和完整性...
在.NET框架中,ADO.NET是用于访问数据库的核心组件,它提供了一组丰富的接口和类,使得开发者能够方便地与各种数据库进行交互。标题提到的"自己实现DataAdapter的方法",实际上是指通过理解SqlDataAdapter的工作原理...
2. **数据适配器和数据集**:通过DataAdapter类,可以从MySQL数据库填充DataSet或DataTable,实现离线数据操作。这在需要断开与数据库连接时特别有用。 3. **命令执行**:Command类用于执行SQL语句,包括SELECT、...
5.2 dataadapter类 5.3 从托管提供程序中填充dataset 5.3.1 在fill中使用架构和映射信息 5.3.2 执行dataadapter.fill期间的错误处理 5.4 dataadapter.fill的工作原理 5.5 oledbdataadapter中的ado...
- DataAdapter类:作为桥梁,同步数据库和DataSet之间的数据变化。 - DataSet类:内存中表示数据库的数据集,包含多个DataTable。 - DataTable类:代表单个数据库表,可以添加、删除、修改记录。 - DataReader类...
- **DataAdapter类**:在数据源和数据集之间传递数据,执行SQL命令并更新数据集。 通过本教程,学习者将能够掌握SQL Server 2005的基本操作,理解ADO.NET的数据访问机制,从而在VS2005环境中高效地管理和操作...