index.jsp
"<%@page contentType="text/html;charset=gb2312" language="java" import="java.sql.*" errorPage="" %>"
<html>
<head>
<title>分页显示</title>
</head>
<body>
<font size=4>
<br><center><b>分页显示学生成绩表</b><hb><br>
<table border=2 width=500>
<tr align=center>
<td><b>学号</b></td>
<td><b>姓名</b></td>
<td><b>数学成绩</b></td>
<td><b>英语成绩</b></td>
<td><b>语文成绩</b></td>
<td><b>总成绩</b></td>
</tr>
<%
//加载驱动程序。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//连接数据库。
Connection conn=DriverManager.getConnection("jdbc:odbc:stuDataBase","sa","");//stuDataBase为数据源的名称。
//声明变量。
int intPageSize;//一个页面的记录数。
int intRowCount;//记录总数。
int intPageCOUNT;//总共有的页数。
int intPage;
String strPage;
int i;
intPageSize=5;//设置一页显示的记录数。
strPage=request.getParameter("page");//取得要显示的页码。
if(strPage==null)
{//表名在QueryString中没有page这一个参数,此时显示第一页数据。
intPage=1;
}else
{
intPage=Integer.parseInt(strPage);
if(intPage<1)
{
intPage=1;
}
}
//创建Statement操作类。
Statement stmt=conn.createStatement(ResultSet.TYPT_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select 学号,姓名,数学,语文,英语,(数学+语文+英语) as 总成绩 from stuScore order by 总成绩 desc";//stuScore表名
//执行sql语句得到结果集ResultSet.
ResultSet rs=stmt.executeQuery(sql);
rs.last();//让记录指针指向结果集中最后一条记录。
intRowCount=rs.getRow();//获取当前数据行的行数,即为数据集的总行数。
//计算总页面。
intPageCount=(intRowCount%intPageSize==0)?(intRowCount/intPageSize):(intRowCount/intPageSize+1);
if(intPage>intPageCount)
{
intPage=intPageCount;//调整要显示的页码。
}
if(intPageCount>0)
{//有多页时,将记录指针定位到待显示页的第一条记录上。
rs.absolute((intPage-1)*intPageSize+1);
i=0;//循环显示数据。
while(i<intPageSize&&!isAfterLast())
{
%>
<tr align=center>
<td><b><%=rs.getString("学号")%></b></td>
<td><b><%=rs.getString("姓名")%></b></td>
<td><b><%=rs.getString("数学")%></b></td>
<td><b><%=rs.getString("语文")%></b></td>
<td><b><%=rs.getString("英语")%></b></td>
<td><b><%=rs.getString("总成绩")%></b></td>
</tr>
<%
rs.next();//读取下一条记录。
i++;
}
}
%>
</table>
<hr color="#999999">
<div align="center">第<%=intPage%>页 共<%=intPageCount%>页
<%
if(intPage<intPageCount)
{
%>
<a href="index.jsp?page=<%=intPage+1%>">下一页</a>
<%}%>
<%if(intPage>1){%>
<a href="index.jsp?page=<%=intPage-1%>">上一页</a>
<%}%>
<%
rs.colse();
stmt.close();
conn.close();
%>
</div>
</center>
</font>
</body>
</html>