当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-01-25 23:11:00  来源:本站整理

操纵top构造Sql Server分页查询[MSSQL防范]

赞助商链接



  本文“操纵top构造Sql Server分页查询[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

利用Sql Server分页查询是SQL数据库最常见的操作之一,下面将为您介绍两种操纵top构造Sql Server分页查询的办法,供您参考.

Sql Server中,假定一个查询sql为querySql,该sql为肆意条件的组合,我们把它当作子查询后果表,可操纵Sql Server的top来构造通用Sql Server分页查询:

  1. if (pageInfo.getPageNum() == 1) {     
  2.       pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " ;     
  3. }     
  4. else {     
  5.       pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " +     
  6.             " where (t1." + indexKey + " > (select max(t3." + indexKey + ")" +      
  7.             " from (select top " + (pageInfo.pageNum - 1) * pageInfo.pageSize + " t2." + indexKey + " from (" + sql + ") as t2 order by t2." + indexKey + ") as t3" +     
  8.             " )) order by t1." + indexKey;     
  9. }   

此中pageInfo.getPageNum()为当前页号(从1开始);pageInfo.getPageSize()为每页行数;indexKey为表中索引列,普通为递增的主键.

第二种方法:
pagesize: 每页显示记录数
cureentpage:当前页数

  1. select * from (   select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage   * from user_table   ORDER BY id ASC ) as aSysTable   ORDER BY id DESC ) as bSysTable   ORDER BY id ASC   

以上就是操纵top构造Sql Server分页查询的办法.

<
  以上是“操纵top构造Sql Server分页查询[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 操纵top构造Sql Server分页查询
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .