我们在制作asp.net动态网页设计作业时,使用DataReader对象读取数据是一个重要知识点,下面是对其的介绍
DataReader对象是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。根据.NET Framework数据提供程序不同,DataReader也可以分成SqlDataReader、OleDbDataReader等几类。
DataReader每次读取数据时只在内存中保留一行记录,所以开销非常小。如果将数据源比喻为水池,DataReader对象可以形象地比喻成一根水管,水管单向地直接把水送到用户处。
DataReader对象与DataSet对象的区别
1.在实现应用程序功能方面的区别
使用DataSet时,一般使用DataAdapter与数据源交互,用DataView对DataSet中的数据进行排序和过滤。使用DataSet是为了实现应用程序的以下功能:
结果中的多个分离的表。
来自多个源(如来自多数据库、XML文件)的数据。
层之间交换数据或使用XML Web服务。与DataReader不同,DataSet能被传递到远程客户端。
缓冲重复使用相同的行集合以提高性能(如排序、搜索或过滤数据)。
对数据执行大量的处理,而不需要与数据源保持打开的连接,从而将该连接释放给其他客户端使用。
提供关系数据的分层XML视图并使用XSL转换或XML路径与(XPath)查询等工具来处理数据。
在应用程序需要以下功能时使用DataReader:
需要缓冲数据。
正在处理的结果集太大而不能全部放入内存中。
需要迅速、一次性地访问数据,采用只向前的只读方式。
2.DataSet与DataReader在为用户查询数据时的区别
DataSet在为用户查询数据时的过程如下:
(1)创建DataAdapter对象。
(2)定义DataSet对象。
(3)执行DataAdapter对象的Fill方法。
(4)将DataSet中的表绑定到数据控件中。
DataReader在为用户查询数据时的过程如下:
(1)创建连接。
(2)打开连接。
(3)创建Command对象。
(4)执行Command的ExecuteReader方法。
(5)将DataReader绑定到数据控件中。
(6)关闭DataReader。
(7)关闭连接。