ITPub博客

首页 > 数据库 > Oracle > oracle之分页查询

oracle之分页查询

Oracle 作者:luxuechen 时间:2014-03-13 15:56:22 0 删除 编辑

html代码写不上这这里写下实现思路吧

首先写我们基础的分页查询语句

select*from(select a1.*,rownum rn from (select *from emp order by deptno asc) a1 where rownum<=10)where rn>=5

其次

一.在上边的基础上添加三个变量

pageCount

rowCount

pageSize

二.我们通过聚合函数count查找出rowCount再通过rowCount和pageSize获得pageCount总页数

然后通过总页数 添加 访问页码的超连接

 

 rs = stmt.executeQuery("select count(*)from emp");


   if (rs.next()) {

 1.  //得到rowCount
    rowCount = rs.getInt(1);

2. // 通过rowCount和pageSize(提前设置好的)获得pageCount
    if (rowCount%pageSize==0) {
     pageCount = rowCount / pageSize;
    } else {
     pageCount = rowCount / pageSize + 1;
    }

   }

3.此时我们就可以添加访问分页的超连接

 

[1] [2] [3] [4] [5]

  //打印分页页码
   for (int i = 1; i <= pageCount; i++) {
    out.println(" [" + i + "]");

   }
三.通过requet对象获取超连接传递的页码,判断是否为空然将其赋值给当前页

最后通过pageNow和pageSize在分页公式语句中控制分页查询语句的开始记录和结束记录数

//接受分页超链接传递的当前页数
   String s_pageNow=request.getParameter("pageNow");
   int pageNow=1;
   if(s_pageNow!=null){
   pageNow=Integer.parseInt(s_pageNow);
   }


     //执行execute方法或得结果集
   rs = stmt.executeQuery("select*from(select a1.*,rownum rn from (select *from emp) a1 where rownum<="+pageNow*pageSize+")where rn>="+((pageNow-1)*pageSize+1));

 

最终呈现效果

oracle分页案例

用户名 薪水
SMITH 800
ALLEN 1600
WARD 1250
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26047814/viewspace-1115724/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-12