在应用ASP.NET的时候我们经常会使用到分页显示记录,事实上进行记录分页相当简单,其核心就是合理的利用SQL的查询语句,其语句如下:
select top [页页显示记录数] * from (select top [公式] * from [表名] order by id desc) order by id
公式:总记录数-页面显示总数*(当前页数-1)
解释:
在这里我们分析一下上面的语句,在这里先进行了第一次的查询。
select top [公式] * from [表名] order by id desc
这里是对整个表按ID字段进行降序排列,然后取出所需要的记录的总数。我们从公式可以得到,这里已经把多当前页以前的记录去除掉了,这里提取的是本页以后的所有的记录。比方是在第二页,那么这里所提取的记录就是第二页之后的所有的记录数。这里select top是反回所设定的前N条记录。
完成了第一次的查询以后再进行第二次的筛选。
select top [页面显示记录数] * from [第一次查询结果] order by id
在这里对第一次的结果再按ID字段进行升序排列,然后取出前10条记录。这样就能得到当前所需显示的记录了。(完)
这个算是一个新手教程吧,呵呵!事实上在个东东柠檬版主有说过,只不过一略而过,所以在这里特发贴子出来,与大家共享。如果以上解释有误的地方,还请各位能及时提醒,以便改正……不误导新手。
注:柠檬版主提到的分页的贴子http://bbs.bc-cn.net/viewthread.php?tid=126453&star=at
[此贴子已经被作者于2007-3-27 8:51:17编辑过]