日期:2014-05-18  浏览次数:20683 次

关于JSP的分页问题,请大家帮帮忙
SELECT       *       FROM       (Select       字段1,字段2,字段3,rownumber()       over(ORDER       BY       排序用的列名       ASC)       AS       rn       from       表名)       AS       a1       WHERE       a1.rn       BETWEEN       10       AND       20    
我用这个查询将分页的SQL已经写出来了!
可是这之后我却一点思路都没有了!
我的环境是JSP+Servlet的做法,不是用对象传的只是使用上面的SQL得到结果集。之后的“总共×页,首页,上一页,正在多少页,下一页,尾页”一个都做不出了!请大家帮帮告诉我一下吧!!

------解决方案--------------------
你必须传给sql至少两个变量 Page,PageSize;
SQL为:SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN (Page-1)*PageSize AND Page*PageSize;
我用这个查询将分页的SQL已经写出来了!

翻页用 <a href= "page.jsp?page=${page-1}&pageSize=${pageSize}> 之类

------解决方案--------------------
针对SQLSERVER的分页方法,自己传参数进来,替换常量

方法二:(针对表好用,视图不好用)
select top 10 * from tablename where id not in (select top 10*4 id from tablename)
//10 每页显示记录数
//4 第几页
//id 主健

方法三:(针对视图也好用,相对第二种方法效率低一些)
select * from
(select top 20 * from v_LkFaceValue ) ss
where trnbr not in (select top 10 trnbr from v_LkFaceValue)
------解决方案--------------------
db2 哈哈 可怜的娃
------解决方案--------------------
网上一搜一大把

------解决方案--------------------
分页有很多,想偷懒就用displaytag,自带了分页,样式也可以自己改