学习了解DataAdapter类属性

开发 后端
DataAdapter类为了维护数据的安全性和完整性,许多数据库管理员都限制对其数据库中表的访问,因此更改表内容的唯一途径就是调用存储过程

DataAdapter类代表了微软数据访问模型的一个新概念。DataAdapter类在ADO和DAO中并没有真正的对应类,当然,可以认为ADO Command 对象和DAO QueryDef对象与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的更新功能都十分有限,DataAdapter类因为这两种对象模型都将Recordset中的更改转换为对数据库中的表进行直接引用的操作查询。DataAdapter类为了维护数据的安全性和完整性,许多数据库管理员都限制对其数据库中表的访问,因此更改表内容的***途径就是调用存储过程。#t#

ADO和DAO不知道如何使用存储过程提交更改,也没有提供可让开发人员指定自己更新逻辑的机制。ADO.NET DataAdapter则可以。利用DataAdapter对象,可以设置UpdateCommand,InsertCommand以及DeleteCommand属性来调用存储过程,c如前文所述,DataAdapter类会填充DataSet对象中的表,而且能读取缓存的更改并将其提交给数据库。DataAdapter有一些支持属性,可用来跟踪在什么位置发生了什么操作。TableMappings集合就是其中的一个属性,它用于跟踪数据库中的哪个表与DataSet对象中的哪个表相对应。每个表映射都有一个用于映射列的类似属性,称为ColumnMapping集合。

责任编辑:chenqingxiang 来源: 博客园
相关推荐

2009-11-04 11:30:35

ADO.NET Dat

2023-11-20 14:41:34

Python属性

2023-12-01 10:20:04

Python类属性

2009-09-03 16:51:27

C#类属性

2010-01-08 15:03:12

VB.NET类属性

2020-09-21 09:53:04

FlexCSS开发

2010-01-11 15:43:06

VB.NET类属性

2009-07-14 17:12:55

Jython类

2024-03-11 16:13:26

C#编程开发

2009-11-04 11:13:53

AOP.NET Dat

2009-11-12 10:15:37

ADO.NET使用

2023-09-21 23:29:59

2022-10-10 18:38:56

inert属性键盘

2009-06-30 16:58:09

requestJSP

2010-01-04 10:19:45

ADO.NET Dat

2009-11-13 10:57:28

ADO.NET Dat

2022-12-22 13:18:54

深度学习框架

2017-03-06 20:26:33

机器学习

2009-09-10 15:26:42

background属

2020-11-10 10:48:10

JavaScript属性对象
点赞
收藏

51CTO技术栈公众号