黑马程序员技术交流社区

标题: DataReader与Dataset有什么区别? [打印本页]

作者: 资建文    时间: 2012-8-22 08:58
标题: DataReader与Dataset有什么区别?
dataReader与Dataset的区别是什么啊。。。没弄明白
作者: 许庭洲    时间: 2012-8-22 09:08
1. DataReader操作时,需要将Connection对象打开,与数据库保持连接;
2. DataSet看作一个离线的数据库,将数据库中的数据在内存中作映射;
3. DataSet是用来从数据库中读取数据的;
4. DataReader是用来接受读出来的数据并进行保存在内存中;
5. DataSet一但读完.数据就不能再访问;
6. DataReader是可以较持久访问的.而且还可以把它当作数据表一样做很多的查询运算.
作者: 冯雅伦    时间: 2012-8-22 12:37
DataReader在读取数据时是一条一条数据进行读取,将读取到的数据保存到内存中,进行操作。对DataReader的操作需要保持连接打开,当连接关闭时,就不能对其内部数据进行操作了。
DataSet是声明在内存当中的一个Dataset空间,可以用来存储数据,去DataReader不同的是,Dataset可以存储不止一条数据,可以为多条,并且在连接关闭时,依然可以对存储在内存dataset中的数据进行操作。但对其数据量的大小有一定限制。
作者: 梁健1    时间: 2012-8-23 13:00
DataReader在读取数据的时候需要一直连接数据库,一但连接断开,就不能读取数据了;DataReader相当于在数据库中放了一个游标,读取完游标现在所指的数据,游标会自动指到下一条数据,然后在读取;DataReader有一个优点就是对数据读取时不占用程序内存,适用于数据量大的时候;
DataSet是一个离线的数据集,在使用SqlDataAdapter对其进行填充数据的时候,是一次性将数据读取完的,然后放在本地内存,所以,即使连接断开也不会影响数据的读取;但是这样会很耗程序内存,适用于数据量小的时候。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2