代表ADO.NET DataAdapter类型的发展

开发 后端
希望我对ADO.NET DataAdapter类的一点经验能给大家带来帮助,不过在你遇到错误时,可以先检查一下你程序中的字符串。

ADO.NET DataAdapter类代表了微软数据访问模型的一个新的发展。在ADO中并没有真正的ADO.NET DataAdapter类,下面就对ADO.NET DataAdapter类进行学习研究,希望大家多多支持。

DataAdapter对象充当数据库和ADO.NET对象模型中非连接对象之间的桥梁。DataAdapter对象类的Fill方法提供了一种高效机制,用于将查询结果引入DataSet或DataTable中,以便能够脱机处理数据。还可以利用DataAdapter对象向数据库提交存储在DataSet对象中的挂起更改。

ADO.NET DataAdapter类公开了大量属性,这些属性实际上是Command对象。例如,SelectCommand属性包含一个Command对象,该对象表示将用来填充DataSet对象的查询。DataAdapter类还有UpdateCommand,InsertCommand和DeleteCommand等属性,它们分别对应于用来向数据库提交已修改数据行、新建数据行或被删除数据行的Command对象。

这些Command对象提供了更新功能,在ADO和DAO的Recordset对象中,这些更新自动进行。例如,当在ADO中运行一个查询以生成一个Recordset对象时,ADO的游标引擎就会询问数据库中有关此查询的元数据,以确定结果来自哪里。然后ADO会使用该元数据建立更新逻辑,以将Recordset对象中的更改转换为数据库中的更改。

那么ADO.NET的DataAdapter对象为什么拥有单独的UpdateCommand,InsertCommand和DeleteCommand属性呢?这是为了允许开发人员定义自己的更新逻辑。ADO和DAO的更新功能都十分有限,因为这两种对象模型都将Recordset中的更改转换为对数据库中的表进行直接引用的操作查询。为了维护数据的安全性和完整性,许多数据库管理员都限制对其数据库中表的访问,因此更改表内容的***途径就是调用存储过程。#t#

ADO.NET DataAdapter类不知道如何使用存储过程提交更改,也没有提供可让开发人员指定自己更新逻辑的机制。ADO.NET DataAdapter则可以。

利用DataAdapter对象,可以设置UpdateCommand,InsertCommand以及DeleteCommand属性来调用存储过程,这些存储过程将修改、添加或删除数据库中相应表的数据行。然后可以只调用DataAdapter对象的Update方法,ADO.NET就会使用所创建的Command对象向数据库提交DataSet中缓存的更改。

如前文所述,DataAdapter类会填充DataSet对象中的表,而且能读取缓存的更改并将其提交给数据库。ADO.NET DataAdapter类有一些支持属性,可用来跟踪在什么位置发生了什么操作。TableMappings集合就是其中的一个属性,它用于跟踪数据库中的哪个表与DataSet对象中的哪个表相对应。每个表映射都有一个用于映射列的类似属性,称为ColumnMapping集合。

责任编辑:chenqingxiang 来源: PChome
相关推荐

2009-11-04 11:30:35

ADO.NET Dat

2009-11-12 10:15:37

ADO.NET使用

2009-11-13 10:57:28

ADO.NET Dat

2009-11-11 14:04:14

ADO.NET连接池

2009-12-21 17:06:41

ADO.NET DbP

2009-12-28 15:11:36

ADO.NET专家

2011-05-20 11:31:07

ADO.NET

2009-10-29 10:10:10

ADO.NET数据集类

2009-11-03 16:37:10

2011-06-02 09:39:29

ADO.NET

2009-09-14 13:37:25

LINQ ADO.NE

2009-11-12 13:19:55

2010-01-04 10:48:30

ADO.NET特色

2009-11-04 12:45:33

ADO.NET Dat

2009-11-12 13:53:27

ADO.NET Sel

2009-12-18 14:37:56

ADO.NET模型

2009-11-12 09:51:59

ADO.NET结构

2009-09-09 10:23:59

ADO.NET连接

2009-11-11 14:27:32

ADO.NET函数

2009-12-28 16:50:28

ADO.NET应用程序
点赞
收藏

51CTO技术栈公众号