<%@ page c import="java.sql.*" %> <% //变量声明 Connection sqlCon=null; //数据库连接对象 Statement sqlStmt; //SQL语句对象 ResultSet sqlRst; //结果集对象 String strSQL; //SQL语句 int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 int intPage; //待显示页码 String strPage; int i; // 设置一页显示的记录数 intPageSize = 8; // 取得待显示页码 strPage = request.getParameter("page"); if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据 intPage = 1; } else{//将字符串转换成整型 intPage = Integer.parseInt(strPage); if(intPage<1) intPage = 1; } try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); sqlCon = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev", "sa", ""); } catch(Exception e) { e.printStackTrace(); } //创建一个可以滚动的只读的SQL语句对象 sqlStmt =sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //准备SQL语句 strSQL = "select id,name from personinfo order by id"; //执行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" c> <title>JSP数据库操作例程-数据分页显示 - JDBC 2.0 - SQLServer2000</title> </head> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <th>id</th> <th>name</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> 每页<%=intPageSize%>行 第<%=intPage%>页 共<%=intPageCount%>页<br> <%if(intPage==1){out.print("首页");%> <%out.print("上一页");}else{%> <a href="storetest.jsp?page=1" mce_href="storetest.jsp?page=1">首页</a> <a href="storetest.jsp?page=<%=intPage-1%>">上一页</a> <%}%> <%if(intPage==intPageCount){out.print("下一页");%> <%out.print("尾页");}else{%> <a href="storetest.jsp?page=<%=intPage+1%>">下一页</a> <a href="storetest.jsp?page=<%=intPageCount%>">尾页</a> <%}%> 转到第<select name="jumpPage" οnchange='window.location="http://localhost:8080/chj/storetest.jsp?page="+this.value'> <% for (int j=1;j<=intPageCount;j++) { if (j==intPage){ %> <option selected value=<%=j%>><%=j%></option> <%}else{%> <option value=<%=j%>><%=j%></option> <%}}%> </select>页 </body> </html> <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %>