`
gstarwd
  • 浏览: 1538309 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

DataAdapter类

阅读更多

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类

    VB.NET 数据库基础教程之全面解析 DataAdapter 类 DataAdapter 类是 VB.NET 中数据库开发中一个重要的组件,它扮演着数据库和程序之间的桥梁角色,能够执行 Command 对象,从数据库中检索数据,并将其填充到 ...

    封装类和DataAdapter控件结合使用例子

    封装类和DataAdapter控件的结合使用是高效、安全地处理数据库操作的一种方式。本教程将详细解释如何利用封装类与DataAdapter来实现对数据库的读写操作。 首先,让我们理解什么是封装类。在面向对象编程中,封装是一...

    dataAdapter

    3. **命令构建器**:为了简化开发,.NET框架提供了一个名为`CommandBuilder`的类,它可以自动生成用于更新数据库的命令,只需指定一个SelectCommand,其余的InsertCommand、UpdateCommand和DeleteCommand将自动创建...

    Oracle-12c数据库基础教程-Oracle-12c数据库ADO.NET数据访问技术完整.pptx

    DataAdapter 类是 DataSet 类与数据源之间的桥接器,可以检索与保存数据。DataAdapter 类通过 Fill 方法来修改 DataSet 中的数据,以便与数据源中的数据相匹配;通过 Update 方法来修改数据源中的数据,以便与 ...

    DataAdapter与DataSet之间的数据传递DataAdapter与DataSet之间的数据传递

    4. **CommandBuilder**: 为了简化`DataAdapter`的配置,可以使用`SqlCommandBuilder`类自动生成所需的INSERT、UPDATE和DELETE命令。只需提供一个SELECT命令,`SqlCommandBuilder`就能推断出其他命令的结构。 5. **...

    DataAdapter

    在实际应用中,我们还可以利用`CommandBuilder`类来自动生成`InsertCommand`、`DeleteCommand`和`UpdateCommand`,从而简化编码工作。当设置了`SelectCommand`后,可以通过以下步骤启用自动生成命令功能: 1. **...

    C#2005实现数据表的基本操作

    在C#2005中,开发人员可以使用新的DataGridView控件,结合BindingSource和DataAdapter类,实现对数据表的插入、删除、修改和更新等基本操作。相较于C#2003中的DataGrid控件,DataGridView提供了更强大的功能和更灵活...

    DataAdapter使用总结

    3. **SqlCommandBuilder的使用**:SqlCommandBuilder是一个辅助类,用于自动生成用于更新数据库的SQL命令。当你仅提供了一个SelectCommand,SqlCommandBuilder可以根据这个查询来构建Insert、Update和Delete命令。...

    第7章-数据库开发.ppt

    3. 填充数据:使用DataAdapter类填充数据到DataSet中。 4. 操作数据:使用DataSet类操作数据。 Visual Studio Microsoft Visual Studio(简称VS)是微软公司的开发工具包系列商品,是一个基本完整的开发工具集。...

    基于ADO.NET技术访问Oracle数据库的实现.pdf

    * DataAdapter类:称为数据适配器,是DataSet和数据源之间交换数据的桥梁。通过DataAdapter对象的Fill方法,将DataAdapter对象的查询属性SelectCommand获取的数据填充到已经定义的DataSet中;通过DataAdapter对象的...

    ASP.NET数据库网站设计教程(C#版)[孙士保]第11章 使用DataSet访问数据库.ppt

    数据库连接通常通过DataAdapter类建立,该类负责从数据库检索数据并填充DataSet。DataSet与数据库之间不存在直接连接,而是通过DataAdapter作为桥梁,执行SQL命令并传输数据。DataAdapter有两个关键方法:Fill用于...

    .net&_1329_.doc 。NET面试题

    4、DataAdapter类用于将数据填充到DataSet或DataTable。 5、DataSet类用于无连接的储存多个表的数据,并包含表与表之间的关联关系。 6、DataTable类用于存储一个表的数据。 ASP.NET中自定义用户控件 在ASP.NET中,...

    dataAdapter用法大全

    **表:`DataAdapter`类的`Fill`方法说明** | 函数定义 | 参数说明 | 函数说明 | |-----------------------------------------------|--------------------------------------------------|------------------------...

    基于ODP.NET的Oracle数据库访问优化.pdf

    4. **DataAdapter类**:DataAdapter是ODP.NET中用于填充DataSet或DataTable的对象,它在数据库和数据集之间提供桥梁,实现数据的双向同步。 5. **OracleTransaction类**:处理数据库事务,确保数据的一致性和完整性...

    自己实现DataAdapter的方法

    在.NET框架中,ADO.NET是用于访问数据库的核心组件,它提供了一组丰富的接口和类,使得开发者能够方便地与各种数据库进行交互。标题提到的"自己实现DataAdapter的方法",实际上是指通过理解SqlDataAdapter的工作原理...

    MySQL Connector/NET 6.9.12

    2. **数据适配器和数据集**:通过DataAdapter类,可以从MySQL数据库填充DataSet或DataTable,实现离线数据操作。这在需要断开与数据库连接时特别有用。 3. **命令执行**:Command类用于执行SQL语句,包括SELECT、...

    ADO.NET本质论.pdf

    5.2 dataadapter类 5.3 从托管提供程序中填充dataset 5.3.1 在fill中使用架构和映射信息 5.3.2 执行dataadapter.fill期间的错误处理 5.4 dataadapter.fill的工作原理 5.5 oledbdataadapter中的ado...

    ADO.NET与数据库

    - DataAdapter类:作为桥梁,同步数据库和DataSet之间的数据变化。 - DataSet类:内存中表示数据库的数据集,包含多个DataTable。 - DataTable类:代表单个数据库表,可以添加、删除、修改记录。 - DataReader类...

    理学调用SQLSerer数据库PPT学习教案.pptx

    - **DataAdapter类**:在数据源和数据集之间传递数据,执行SQL命令并更新数据集。 通过本教程,学习者将能够掌握SQL Server 2005的基本操作,理解ADO.NET的数据访问机制,从而在VS2005环境中高效地管理和操作...

Global site tag (gtag.js) - Google Analytics