学习了解DataAdapter类属性
创始人
2024-06-18 00:01:03
0

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集合。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...