A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 资建文 中级黑马   /  2012-8-22 08:58  /  1865 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

dataReader与Dataset的区别是什么啊。。。没弄明白

3 个回复

倒序浏览
1. DataReader操作时,需要将Connection对象打开,与数据库保持连接;
2. DataSet看作一个离线的数据库,将数据库中的数据在内存中作映射;
3. DataSet是用来从数据库中读取数据的;
4. DataReader是用来接受读出来的数据并进行保存在内存中;
5. DataSet一但读完.数据就不能再访问;
6. DataReader是可以较持久访问的.而且还可以把它当作数据表一样做很多的查询运算.
回复 使用道具 举报
DataReader在读取数据时是一条一条数据进行读取,将读取到的数据保存到内存中,进行操作。对DataReader的操作需要保持连接打开,当连接关闭时,就不能对其内部数据进行操作了。
DataSet是声明在内存当中的一个Dataset空间,可以用来存储数据,去DataReader不同的是,Dataset可以存储不止一条数据,可以为多条,并且在连接关闭时,依然可以对存储在内存dataset中的数据进行操作。但对其数据量的大小有一定限制。
回复 使用道具 举报
DataReader在读取数据的时候需要一直连接数据库,一但连接断开,就不能读取数据了;DataReader相当于在数据库中放了一个游标,读取完游标现在所指的数据,游标会自动指到下一条数据,然后在读取;DataReader有一个优点就是对数据读取时不占用程序内存,适用于数据量大的时候;
DataSet是一个离线的数据集,在使用SqlDataAdapter对其进行填充数据的时候,是一次性将数据读取完的,然后放在本地内存,所以,即使连接断开也不会影响数据的读取;但是这样会很耗程序内存,适用于数据量小的时候。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马