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