ADONET中实现查询结果的分页显示资料.doc

ADO.NET中实现查询结果的分页显示 一、问题分析: 我们利用ADO.NET进行数据库编程时,一般是将查询结果填充到DataSet的DataTable对象中,再通过与其绑定的DataGrid控件显示出来。很多时候查询结果的记录数会比较大,虽然理论上一个DataTable对象可以容,但在实际操作中,我们实在没有必要将全部记录装入DataTable,原因在于:用户肯定不会同时浏览这么多行,滚动条的出现使程序操作更繁琐,并且通过网络传输的记录太多,程序的效率也会大大降低。因此应尽量减少读取的记录数,采用分页机制:一次显示一页内容,只读取需要的记录。 在填充DataTable时,将起始记录和记录个数作为参数传递给DataAdapter的Fill方法,就能实现简单的分页效果,代码如下: da.Fill(dt,(n-1)*10,10,订单) 读订单表的第n页(每页10行)填充dt 实际在执行时,DataAdapter仍然要读取指定记录前的所有记录(即包括前n-1页),然后放弃它们。所以该方法只适用于较小的数据表,若处理大型数据库,并不能实质上提升效率。为了更好的实现分页机制,必须编写一些灵活的SQL语句。 二、实现方法: (订单表) 如图所示,假设有一个12条记录的数据表“订单”,按“订单ID”列排序,我们要分3页显示,每页4

文档评论(0)

1亿VIP精品文档

相关文档