`
junli0411
  • 浏览: 135814 次
  • 来自: ...
社区版块
存档分类
最新评论

jsp分页程序

阅读更多
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>

<%
    //变量声明
    Connection sqlCon; //数据库连接对象
    Statement sqlStmt; //SQL语句对象
    ResultSet sqlRst; //结果集对象
    String strCon; //数据库连接字符串
    String strSQL; //SQL语句
    int intPageSize; //一页显示的记录数
    int intRowCount; //记录总数
    int intPageCount; //总页数
    int intPage; //待显示页码
    String strPage;
    int i;
    //设置一页显示的记录数
    intPageSize = 10;
    //取得待显示页码
    strPage = request.getParameter("page");
    if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
        intPage = 1;
    } else{//将字符串转换成整型
        intPage = Integer.parseInt(strPage);
        if(intPage<1) intPage = 1;
    }
    //装载JDBC驱动程序
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch(ClassNotFoundException e){
        out.print("加载驱动错误");
    }
 
    //设置数据库连接字符串
    strCon = "jdbc:oracle:thin:@172.23.218.115:1521:dbinfo2";;
    //连接数据库
    sqlCon = DriverManager.getConnection(strCon,"junli0310","junli0310");
    //创建一个可以滚动的只读的SQL语句对象
    sqlStmt = sqlCon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    //准备SQL语句
    strSQL = "select * from junli0310.student";
    //执行SQL语句并获取结果集
    sqlRst = sqlStmt.executeQuery(strSQL);
    //获取记录总数
    sqlRst.last();
    intRowCount = sqlRst.getRow();
    //记算总页数
    intPageCount = (intRowCount+intPageSize-1) / intPageSize;
    //调整待显示的页码
    if(intPage>intPageCount) intPage = intPageCount;
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
    </head>
    <body>
        <center>
            <table border="1" cellspacing="0" cellpadding="0">
            <tr>
            <th>ID</th>
            <th>姓名</th>
             </tr>
            <%
                if(intPageCount>0){
                    //将记录指针定位到待显示页的第一条记录上
                    sqlRst.absolute((intPage-1) * intPageSize + 1);
                    //显示数据
                    i = 0;
                    while(i<intPageSize && !sqlRst.isAfterLast()){
            %>
            <tr>
            <td><%=sqlRst.getString(1)%></td>
            <td><%=sqlRst.getString(2)%></td>
            </tr>
            <%
                        sqlRst.next();
                        i++;
                    }
                }
            %>
            </table>
 
            第<%=intPage%>页   共<%=intPageCount%>页 <br>
            <a href="FenYe.jsp?page=1">第一页</a>
            <%if(intPage>1){%><a href="FenYe.jsp?page=<%=intPage-1%>">上一页</a><%}%>
            <%if(intPage<intPageCount){%><a href="FenYe.jsp?page=<%=intPage+1%>">下一页</a><%}%>
            <a href="FenYe.jsp?page=<%=intPageCount%>">最后一页</a>
        </center>
 
 
    </body>
</html>
<%
    //关闭结果集
    sqlRst.close();
    //关闭SQL语句对象
    sqlStmt.close();
    //关闭数据库
    sqlCon.close();
%>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics