ADO.NET数据集简介

DataSet对象是ADO.NET的一个重要部分,是支持ADO.NET断开式,分布式的数据方案的核心对象,它允许从数据库中检索到的数据存储在内存中,可以理解为一个临时数据库。可以从任何有效的数据源将数据加载到数据集中。

简单地说,数据集(DataSet)就是内存中的一个临时数据库。如何理解这个概念呢?下面来打一个比喻。工厂一般在每天上班时要把今天用的原料由专人从仓库领出来,放在车间的临时仓库中,由每个工人直接从临时仓库领取,而不是每个人要用材料都去仓库领取。下午下班时要把没有用的材料和制作好的成品都要由专人存放到仓库中。那么数据集就相当于临时仓库,将需要的数据从数据库一次提取出来,提供给用户使用,修改后的结果可以再经由数据集提交给数据库进行保存。

数据集把应用程序需要的数据临时保存在内存中,可以实现数据库的断开式访问,应用程序需要数据时,直接从内存中的数据集读取数据,也可以修改数据集中的数据,将修改后的数据一起提交给数据库。

数据集的结构和数据库很相似,由表组成,每张表由行和列组成,数据集的结构如图:

我们可以看出,数据集由数据表集合(DataTableCollection)对象组成,每个数据表就是一个DataTable对象。而每个数据表都由行和列组成,所有的列构成一个数据列集合(DataColumnCollection),每个列就是数据列(DataColumn)对象。数据表所有行构成数据行集合(DataRowCollection),每行就是数据行(DataRow)对象。数据表与数据表之间的关系用DataRelation对象表示。

数据集及数据表、数据行、数据列对象都在System.Data命令空间中,使用数据集要先引入该命名空间。

数据集DataSet不考虑其中的表结构和数据是来自数据库、XML文件还是程序代码,因此数据集DataSet不维护到数据源的连接。这缓解了数据库服务器和网络的压力。对数据集DataSet的特点总结可以总结为四点:
第一,使用数据集对象DataSet无需与数据库直接交互;
第二,DataSet对象是存储从数据库检索到的数据的对象;
第三,DataSet对象是零个或多个表对象的集合,这些表对象由数据行和列、约束和有关表中数据关系的信息组成;
第四,DataSet对象既可容纳数据库的数据,也可以容纳非数据库的数据源。

posted on 2012-07-12 11:00  流星落  阅读(549)  评论(0编辑  收藏  举报

导航