文件名称:jsppage.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP连接Access数据库(三)数据分页显示</title>
<LINK href=style.css type=text/css rel=stylesheet>
</head>
<body>
<div align="center"><h3>JSP连接Access数据库实现数据分页显示</h3>
<hr>
<br><h4>图书管理系统图书明细表中每页显示10条数据</h4></div>
<table border="1" align="center" bordercolor="#7188e0">
<tr bgcolor="d1d1ff">
<Th width="100">图书编号</th>
<th width="180">图书名称</th>
<th width="112">出版社</th>
<th width="112">定价</th>
<th width="150">日期</th>
</tr>
<%
//载入驱动程序类别
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:jspdata");
//建立数据库链接,jspdata为ODBC数据源名称
//建立Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql="select * from 图书明细表";
//建立ResultSet(结果集)对象,并执行SQL语句
ResultSet rs = stmt.executeQuery(sql);
//一页显示的记录数
int intPageSize;
//记录总数
int intRowCount;
//总页数
int intPageCount;
//待显示页码
int intPage;
String strPage;
int i;
//设置一页显示的记录数
intPageSize =10;
//取得待显示页码
strPage = request.getParameter("page");
//表明在QueryString中没有page这一个参数,此时显示第一页数据
if(strPage==null){
intPage = 1;
} else{
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
}
if(intPage< 1){
intPage = 1;
}
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage >intPageCount) intPage = intPageCount;
if(intPageCount >0){
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize+1);
//显示数据
}
i = 0;
while(i< intPageSize && !rs.isAfterLast()){%>
<tr bgcolor="#f8f8f8" class=time>
<td><%=rs.getString("图书编号")%></td>
<td><%=rs.getString("图书名称")%></td>
<td><%=rs.getString("出版社")%></td>
<td><%=rs.getString("定价")%></td>
<td><%=rs.getString("日期")%></td>
</tr>
<%rs.next();
i++;
} rs.close();
stmt.close();
con.close();%>
</table><p align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPageCount%>页
<%for(int j=1;j<=intPageCount;j++)
{out.print(" <a href='jsppage.jsp?page="+j+"'>"+j+"</a>");
}%>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP连接Access数据库(三)数据分页显示</title>
<LINK href=style.css type=text/css rel=stylesheet>
</head>
<body>
<div align="center"><h3>JSP连接Access数据库实现数据分页显示</h3>
<hr>
<br><h4>图书管理系统图书明细表中每页显示10条数据</h4></div>
<table border="1" align="center" bordercolor="#7188e0">
<tr bgcolor="d1d1ff">
<Th width="100">图书编号</th>
<th width="180">图书名称</th>
<th width="112">出版社</th>
<th width="112">定价</th>
<th width="150">日期</th>
</tr>
<%
//载入驱动程序类别
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:jspdata");
//建立数据库链接,jspdata为ODBC数据源名称
//建立Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql="select * from 图书明细表";
//建立ResultSet(结果集)对象,并执行SQL语句
ResultSet rs = stmt.executeQuery(sql);
//一页显示的记录数
int intPageSize;
//记录总数
int intRowCount;
//总页数
int intPageCount;
//待显示页码
int intPage;
String strPage;
int i;
//设置一页显示的记录数
intPageSize =10;
//取得待显示页码
strPage = request.getParameter("page");
//表明在QueryString中没有page这一个参数,此时显示第一页数据
if(strPage==null){
intPage = 1;
} else{
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
}
if(intPage< 1){
intPage = 1;
}
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage >intPageCount) intPage = intPageCount;
if(intPageCount >0){
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1) * intPageSize+1);
//显示数据
}
i = 0;
while(i< intPageSize && !rs.isAfterLast()){%>
<tr bgcolor="#f8f8f8" class=time>
<td><%=rs.getString("图书编号")%></td>
<td><%=rs.getString("图书名称")%></td>
<td><%=rs.getString("出版社")%></td>
<td><%=rs.getString("定价")%></td>
<td><%=rs.getString("日期")%></td>
</tr>
<%rs.next();
i++;
} rs.close();
stmt.close();
con.close();%>
</table><p align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPageCount%>页
<%for(int j=1;j<=intPageCount;j++)
{out.print(" <a href='jsppage.jsp?page="+j+"'>"+j+"</a>");
}%>
</body>
</html>


