当前位置: 代码迷 >> .NET Framework >> ADO.NET DateSet,该如何处理
  详细解决方案

ADO.NET DateSet,该如何处理

热度:211   发布时间:2016-05-01 23:47:23.0
ADO.NET DateSet
关于    ADO.NET里的
DateSet  对象和 SqlDataAdapter对象  各种不懂 
求代码加注释学习一下
感谢  感谢!!!

------解决方案--------------------
DataSet
   DataSet对象是ADO.NET的核心,基于DataSet的数据模型才使得ADO.NET实现离线式数据操作模型。DataSet是存在于内存中 的数据库,是专门用来处理数据保存体中读出的数据。它的优点就是离线式的,一点读取到数据源中的数据后,就在内存中建立数据库的副本,在此之后的操作,直 到执行更新命令为止,所有的操作都是在内存中完成的。不管底层的数据库是哪种形式,DataSet的行为都是一致。
ADO.NET的DataSet数据模型
   因为DataSet可以看做是内存中的数据库,也因此可以说DataSet是数据表的集合,它可以包含任意多个数据表(DataTable),而且每一 DataSet中的数据表(DataTable对应一个数据源中的数据表(Table)或是数据视图(View)。数据表实质是又行(DataRow)和 列(DataColumn)组成的集合为了保护内存中数据记录的正确性,避免并发访问时的读写冲突,DataSet对象中的DataTable负着维护每 一条记录,分别保存记录的初始状态和当前状态。从这里可以看出DataSet是与只能存放单张数据表的Recordset是截然不同的概念。
DataSet对象的结构模型如下图所示:




   通过上图的分析可知,DataSet对象结构还是非常复杂的,在DataSet对象的下一层中是DataTableCollection对象、 DataRelationCollection对象和ExtendedProperties对象。上文已经说过,每一个DataSet对象是由若干个 DataTable对象组成。DataTableCollection就是管理DataSet中的所有DataTable对象。表示DataSet中两个 DataTable对象之间的父/子关系是DataRelation对象。它使一个DataTable 中的行与另一个DataTable中的行相关联。这种关联类似于关系数据库中数据表之间的主键列和外键列之间的关联。 DataRelationCollection对象就是管理DataSet中所有DataTable之间的DataRelation关系的。在 DataSet中DataSet、DataTable和DataColumn都具有ExtendedProperties属性。 ExtendedProperties其实是一个属性集(PropertyCollection),用以存放各种自定义数据,如生成数据集的SELECT 语句等。
通过上面几节中的介绍和本节中的分析,我们可以总结出DataSet对象的三大特性:
(1) 独立性。DataSet独立于各种数据源。
(2) 离线(断开)和连接。
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
在实际应用中,DataSet使用方法一般有三种:
 (1) 把数据库中的数据通过DataAdapter对象填充DataSet。 
(2) 通过DataAdapter对象操作DataSet实现更新数据库。
(3) 把XML数据流或文本加载到DataSet。

五、DataAdapter
   DataAdapter对象可以隐藏和Connection、Command对象沟通的细节,通过DataAdapter对象建立、初始化 DataTable,从而和DataSet对象结合起来在内存存放数据表副本,实现离线式数据库操作,事实上在8.1.2节中,我们在介绍DataSet 数据模型的时候就已经演示了如何利用DataAdapter对象进行数据库连接。DataAdapter对象允许将DataSet对象中的数据保存到数据 源中,也可以从数据源中读取数据,并且也可以底层数据保存体进行数据的添加、删除、更新等操作。
DataAdapter对象含有四个不同的操作命令,分别如下:
(1)、SelectCommand:用来或去数据源中的记录;
(2)、InsertCommand:用来向数据源中新插入一条记录;
(3)、UpdateCommand:用来更新数据源中的数据;
(4)、DeleteCommand:用来删除数剧源中的记录。


http://blog.csdn.net/hdhai9451/article/details/4000707
------解决方案--------------------
引用:
http://msdn.microsoft.com/zh-cn/library/system.data.dataset.aspx
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldataadapter.aspx
里面有代码示例
多看MSDN