.NET面试题

当前位置: 面试问题网 > .NET面试题 > DataReader和DataSet的异同

DataReader和DataSet的异同

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

【DataReader和DataSet的异同】相关文章

1. DataReader和DataSet的异同

2. 软件测试LoadRunner面试题:If web server, database and Network are all fine where could be the problem?

3. 我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢

4. Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?

5. 如何反序的迭代一个序列?how do I iterate over a sequence in reverse order

6. 软件测试LoadRunner面试题:What is correlation? Explain the difference between automatic correlation and manu

7. 简述synchronized和java.util.concurrent.locks.Lock的异同

8. 软件测试LoadRunner面试题: Where do you set automatic correlation options?

9. 软件测试LoadRunner面试题:What is the difference between Overlay graph and Correlate graph?

10. 介绍一下javax.servlet.Servlet接口及其主要方法

本文来源:https://www.mianshiwenti.com/a12790.html

点击展开全部

《DataReader和DataSet的异同》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝DataReader和DataSet的异同﹞相关内容

「DataReader和DataSet的异同」相关专题

其它栏目

也许您还喜欢