ASP.NET中的分页SQL语句[利用SQL2005的Row_Numb

系统 2642 0
      最近给客户做了个查看通话记录的小功能,不论是查询还是显示都很快的完成了。唯一的问题就是因为数据记录太多[上万条,且每天都已几十近百条的速度增长],显示速度太慢。我用的是VS2005 GridView自带的分页功能,显然数据太多GridView自身的分页功能已经不在适用。本来想用存储过程,但感觉太麻烦。在网上淘了半天,终于淘了个非常好的利用SQLServer2005自带的Row_Number()函数做的SQL语句分页的方法。闲话少说,看代码:
 1 declare   @pageIndex   int
 2 declare   @pageSize    int
 3 set   @pageIndex = 1
 4 set   @pageSize = 26
 5
 6 SELECT   *   FROM  ( SELECT  ROW_NUMBER()  OVER ( ORDER   BY  id  DESC AS  rownum,
 7 id, callerno, calleeno, uid, callbegin,callend,bs
 8 FROM   [ 222.43.48.95 ] .lyzj.dbo.billlog  where  uid = ' 007 ' AS  D
 9 WHERE  rownum  BETWEEN  ( @pageIndex - 1 ) * @pageSize + 1   AND   @pageIndex * @pageSize
10 ORDER   BY  id  DESC
        上面就是分页的SQL语句,但是实际使用的时候,问题又出现了。我用的是ASPNETPager分页控件,查看的时候,第一页的数据总是无法显示;调试了半天才找出原因。原来是早先用GridView自身的分页时,分页的索引是从0开始的,而现在的分页却是从1 开始。两者搅在一起,不出问题都怪了,呵呵,搞定!

ASP.NET中的分页SQL语句[利用SQL2005的Row_Number()函数]


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论