这里主要介绍一下使用DataReader读取数据,包括分页读取。DataReader只读向前,DataAdapter的Fill方法是一 次性把查询到的所有数据取出来填充到DataTable或DataSet,下面的方法是使用DataReader只把当前页所需要的数据取出来添加到 DataTable,效率要比使用DataAdapter的Fill方法高得多。
一、创建一个类库项目,命名为DAO,并创建一个SqlHelper.cs类
二、测试,创建一个网站项目,编译DAO项目,添加对DAO项目的引用
创建测试表,插入一百万条数据:
设计如下界面
GridView保持默认设置,不要设置自动分页,下面是5个Button和一个TextBox
后台代码:
运行后界面:
翻页响应很快,比直接使用DataAdapter的Fill方法填充DataTable,然后使用GridView自动翻页效率高的多。
数据翻页功能的实现还有其它一些方法,比如TOP、row_number() over (SQL Server 2005/2008)、存储过程等,有兴趣可以测试一下。
本例提供的方法仅供参考。