zoukankan      html  css  js  c++  java
  • oracle分页

    用easyui做界面的时候,在datagrid里面显示数据,用mysql的分页方式,发现在oracle中不可以使用。于是查了一些资料。

    http://kingsen5.blog.163.com/blog/static/189301290201142591225277/

    这篇博文里面,总结的比较详细,使用第一种方法,还是挺好用的。

    SELECT * FROM 
    (
    SELECT A.*, ROWNUM RN 
    FROM (SELECT * FROM TABLE_NAME) A 
    WHERE ROWNUM <= 40
    )
    WHERE RN >= 21

    在easyui中,传到后台的有两个参数,一个是page,一个是rows。前者是多少页,后者是每页多少行数据。

    在oracle中,需要的是数据的index位置,第一条数据和最后一条数据。如上分页中,显示21-40这些数据。所以计算出这两个位置就可以了。

            int currentpage = Integer.parseInt((page == null || page == "0") ? "1": page);//第几页
            int pagesize = Integer.parseInt((rows == null || rows == "0") ? "10": rows);//每页多少行
            map.put("startindex", (currentpage-1)*pagesize);
            map.put("endindex", currentpage*pagesize);

    就这几行代码,获取到开始位置和结束位置就ok了,作为参数,传入sql中,就可以获取到分页的数据了。

  • 相关阅读:
    lua中的冒号和点
    NuGet使用简要说明
    C#浅谈类实体与DataTable执行效率
    win8 使用技巧
    Bitnami Redmine 中文附件名 报错修复
    Markdown 测试
    几种常用网页返回顶部代码
    文字超出隐藏并显示省略号
    手机正则写法
    安卓内存管理相关关键字
  • 原文地址:https://www.cnblogs.com/juepei/p/3954211.html
Copyright © 2011-2022 走看看