dataReader 与dataSet

来源:互联网 发布:韩庚偷电脑知乎 编辑:程序博客网 时间:2024/06/05 17:07
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

 dataReader 与dataSet 似乎有些相同,两者都能从数据库获得数据,但这绝对是两个不同的东西.

DataReader通过Command.ExecuteReader()方法进行构建;

DataSet 通过DataAdapter.Fill()方法进行填充.

DataReader在读取数据库时,只能每次读取一条记录,并向前移动(是不能返的).

读取记录时必须时刻与数据库保持链接,一但断开就行发生错误.

由于每次只读取一条数据,所占用的内存并不大.

DataSet 可以理解为在内存里创建的数据库;将所读取到的数据全部暂存在内存里.

当读取DataSet里的数据时并不须要和物理数据库链接.

会提高数据的读取效率,但占用大量的内存.

DataSet  通过DataAdapter和CommandBuilder 与物理数据库进行交互.

强类型DataSet 建立时必须有物理表的支持.会根据表结构,生成属性.在使用的时候方面很多,也可能自行的加些控制.

但似乎只能对一个物理表操作.而普通的DataSet 是将查询结果做为表存放在DataSet库里.

 

DataReader 用于访问数据量大时,不存储数据占用内存较少.但由于时刻连接数据库,访问数据量少时效率不高.

DataSet  用于访问数据量小,存储了数据占用内存较大.效率较高.

强类型DataSet 在使用方面比DataSet方便,控制也好.但似乎只能对单表查询,多表查询还是用DataSet.

 

 

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/

原创粉丝点击