• oracle实现分页总结


    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8" import="java.sql.*"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Oracle和Jsp的分页程序</title>

    </head>

    <body>

     

    <%

    out.print("<table>");

      int pageSize =3;//每页显示3条

      int pageCount = 0;//总页数

      int intRowCount = 0;//总记录数,可通过查询得到总得多少行

      int currentPage =1;

     

    try {

             Class.forName("oracle.jdbc.driver.OracleDriver");

             Connection conn = DriverManager.getConnection(

                                "jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger");

             Statement st = conn.createStatement();

            

             ResultSet rs2 = st.executeQuery("select count(*) totalRows from emp");//总记录数

             out.print("<tr>");

             if(rs2.next()){

                      

                       intRowCount=rs2.getInt("totalrows");

                       out.print("<td>"+"总记录数是:"+intRowCount+"</td>");

             }

             out.print("</tr>");

            

             if(intRowCount%pageSize==0){

                       pageCount=intRowCount/pageSize;

             }else{

                       pageCount=intRowCount/pageSize+1;

             }

            

            

             out.print("<tr><td>总共有"+ pageCount+"页</td></tr>");

             String StrPage=request.getParameter("page");

            

             if(StrPage==null){

        currentPage=1;                

             }else{

                       currentPage=Integer.parseInt(StrPage);

                       if(currentPage<1) currentPage=1;

             }

     

     

             out.print("<tr><td>姓名</td><td>薪水</td></tr>");

             ResultSet rs = st.executeQuery("select a2.* from (select a1.*, rownum rn from (select ename,sal from emp) a1 where rownum<="+currentPage*pageSize+") a2 where a2.rn>="+(pageSize*(currentPage-1)+1)+" ");

             while(rs.next()){

                      

                       out.print("<tr>");

                       out.print("<td>"+rs.getString("ename")+"</td>");

                       out.print("<td>"+rs.getString("sal")+"</td>");

                       out.print("</tr>");

             }

            

             out.print("</table>");

             for( int i=1;i<=pageCount;i++){

                       out.print("<a  href=myoracle.jsp?page="+i+">["+ i+"]</a>");

             }

             out.print("<tr><td>现在是第"+ StrPage+"页</td></tr>");

             conn.close();

             st.close();

             rs.close();

    } catch (Exception e) {

             e.printStackTrace();

    }

    %>

    </table>

     

    </body>

    </html>

  • 相关阅读:
    选修课作业专栏
    js字符串和数组方法总结
    转Y-slow23原则(雅虎)
    前端优化总结和技巧(原创)
    阿里dom操作题
    基本的dom操作方法
    html5中的postMessage解决跨域问题
    mark一篇文章--用nodejs搭建一个本地反向代理环境
    html5语义化标签总结二
    转html5语义化标签总结一
  • 原文地址:https://www.cnblogs.com/kunpengit/p/2277640.html
Copyright © 2020-2023  润新知