`
gstarwd
  • 浏览: 1488338 次
  • 性别: 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控件结合使用例子

    利用封装类文件,实现对数据库的操作 数据库连接代码

    ADO.NET考核知识点

    DataAdapter类;SqlBulkCopy 类;DataTable事件;DataView对象;事务;事务的并发性错误和事务隔离级别;面向对象三层架构设计;MVC模型(模型Model-视图View-控制器Controller);三层架构与MVC的区别;LINQ;LINQ to ADO.NET...

    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...

    C#全能速查宝典

    分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...

    C#XML入门经典 C#编程人员必备的XML技能.part2

    XML在ADO.NET中的用法 <br>12.1 ADO.NET概述 12.2 .NET数据提供者 12.2.1 Connection类 12.2.2 Command类 12.2.3 DataReader类 12.2.4 DataAdapter类 12.2.5 CommandBuilder类 12.3 DataSet...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    8.4 DataAdapter类 8.4.1 填充DataSet 8.4.2 使用多个表和关系 8.4.3 查找特定行 8.4.4 在数据访问类里使用DataSet 8.4.5 数据绑定 8.5 DataView类 8.5.1 使用DataView排序 8.5.2 使用DataView...

    C#ADO.NET数据库操作的Demo程序案例

    介绍ADO.NET数据库操作中类介绍的程序Demo,包括Connection类、Command类、DataAdapter类、DataSet类、DataTable类 DataRow类、DataColumn类等

    ASP.NET4高级程序设计(第4版) 3/3

    8.4 DataAdapter类 252 8.4.1 填充DataSet 253 8.4.2 使用多个表和关系 254 8.4.3 查找特定行 257 8.4.4 在数据访问类里使用DataSet 257 8.4.5 数据绑定 258 8.5 DataView类 259 8.5.1 使用DataView...

    自己实现DataAdapter的方法

    手动实现SqlDataAdapter类的方法,解析该类的运行方式。 其实它就是依靠SqlConnection,SqlCommand,DataReader来实现的,对学习Ado.net的思想很有用

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

    通过运用C#2005中的DataGridView控件、BindingSource和DataAdapter类,实现数据表 的基本操作。 关键词 数据库,C#编程,插入,删除,修改,更新

    C# oracle通用类

    C# oracle 类 事务处理 #region 公有方法 public void JoinTransaction(Transaction transaction) { if (this._transaction != null) { throw new Exception("对象已经在另一个事务中"); } else { this._...

    数据集和数据库的同步-DataAdapter的使用--vs2003

    数据集和数据库的同步-DataAdapter的使用--vs2003

    ADO.net操作数据库总结

    ADO.net操作数据库总结,包括SqlConnection、SqlCommand等

    C# sqlserver数据库操作封装类

    C#的sqlserver数据库操作封装类,封装了sql语句的查询、修改、插入、删除操作,以及存储过程的执行,包括有输入、输出参数的存储过程,存储过程的执行无需输入任何参数名称,只需输入参数值即可。同时封装了大批量...

    C#中常用类的总结

    Command,Connection,DataReader,Connection,DataAdapter,DataSet,Console,String,StringBuilder,Convert,Form的一些功能,命名空间,属性及方法

    C# Oracle代理连接,免安装客户端

    需要.net4平台,引用之后,访问工具类示例: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Security.Cryptography; using ...

    ASP.NET项目实训:“新闻发布系统”新闻类别管理--设置类别状态.ppt

     2、配置DataAdapter对象并创建和操作数据集DataSet。  3、将数据库中的表添加到DataSet中。  4、把数据集DataSet绑定到GridView上。利用DataAdapter 的Fill方法把数据填充到DataSet,最终的数据库中的数据显示...

Global site tag (gtag.js) - Google Analytics