DataSet的定义:对象是ADO。NET中非连接存储和关系型数据处理的基础数据对象。可以将从数据库中取得的数据集合全部存储于DataSet对象中,操作存储于DataSet的数据,然后再次连接到数据库,根据DataSet的数据更新目前数据库中的数据。
DataSet的主要方法: 1 Clear:清空DataSet的所有DataTable 2 Merge把两个DataSet合并成一个 3 AcceptChanges更新对DataSet的所有更改 4 GetChanges获得对DataSet进行的所有更改 5 HasChanges判断是否有对DataSet进行更改 6 放弃对DataSet对数据库进行的更改 对象:1 DataTable 记录集(相当于表) 2 DataColumn 记录集的字段(相当于列) 3 DataRow 记录(相当于行) 4 DataView 数据视图,是基于DataSet对象中数据的查询条件的。 5 DataRelation 定义不同DataTable 之间的关系 写了一个DataSet的代码清单 DataSet ds=new DataSet(); DataTable dt1=new DataTable(); DataTable dt2=new DataTable(); DataColumn dc1=new DataColumn(“a1″,typeof(int)); DataColumn dc1=new DataColumn(“a2″,typeof(int)); DataColumn dc1=new DataColumn(“a2″,typeof(int)); DataColumn dc1=new DataColumn(“a3″,typeof(int)); dt1.Column.Add(dc1); dt1.Column.Add(dc2); dt2.Column.Add(dc2); dt2.Column.Add(dc3); ds.Tables.Add(dt1); ds.Tables.Add(dt2); //在dt1和dt2之间建立一个名为a2的DataRelation ds.Relation.Add(“a2″,ds.Tables["dt1"].Column["a2"],Tables["dt2"].Column["a2"]); 对象是对数据集合进行向前数条的读取 DataSet和DataReader都可以完成对数据的操作和存储 DataReader对数据读取方便而且快 ,而DataSet有强大的数据库操作功能和非连接访问模式 DataReader和DataSet最大的区别:DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的 读了第一条后就不能再去读取第一条了 DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存…但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作 应用: 1 当需要操作非连接数据,将数据发送到应用程序或客户端,提供使用者进行更改之后更新数据库的时候,用DataSet 2 当需要存储、传输、操作多个数据库表时,并且表之间存在着数据关系时,用DataSet 3 需要对数据进行调度操作时,如:数据分页浏览或跳转到固定记录的时候用DataSet 4 当需要一次性读取数据到客户端而且没有更新删除操作时建议使用DataReader 5 需要遍历一个数据集,对数据的每条记录进行只读时用DataReader |
|
来自: 悟静 > 《.net和asp.net》