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();
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值