jsp分页显示数据

 <%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<html>
<head>
<title>分页显示数据</title>
<style type="text/css">
<!--
  .style1 {
  font-size: 12px;
  color: #000000;
  }
  .style2 {
  font-size: 12px;
  color: #0033FF;
  }
  body {
  font-size: 12px;
  background-color: #FFFFCC;
  }
-->
</style>
</head>
<body>
<center>学生信息一览表
<br><br>分页显示数据
</center>
<hr>
<table border=0 width=750>
  <tr class="style2" bgcolor="#CCFF22" align="center">
   <td>学号</td>
   <td>姓名</td>
   <td>性别</td>
   <td>出生日期</td>
   <td>入学日期</td>
   <td>系别</td>
   <td>班级</td>
   <td>专业</td>
   <td>籍贯</td>
   <td>简介</td>
  </tr>
<%
  int currentPage=1;//当前默认页码
  String pages=request.getParameter("currentPage");
  if(pages==null)
    pages="1";
  try
  {
    currentPage=Integer.parseInt(pages);
  }
  catch(Exception e)
  {
    currentPage=1;
  }
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//载入驱动程序
  String url="jdbc:odbc:StudentData";//StudentData为ODBC数据源
  String username="sa";//用户名
  String password="admin";//用户密码
  Connection con=DriverManager.getConnection(url,username,password);//连接数据库
  Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                     ResultSet.CONCUR_READ_ONLY);
  String sql="select * from student";
  ResultSet rs=stmt.executeQuery(sql);
  int countRecord=0;//记录总数
  int countPageRecord=0;//每页显示记录数
  int countPage=0;//总页数
  countPageRecord=10;//每页显示10条记录
  rs.last();
  countRecord=rs.getRow();//获取记录总数
  //获取显示总页数
  if(countRecord/countPageRecord==0)
    countPage=countRecord/countPageRecord;
  else
  countPage=countRecord/countPageRecord+1;
  //把记录指针移至当前页第一条记录之前
  if((currentPage-1)*countPageRecord==0)
    rs.beforeFirst();
  else
    rs.absolute((currentPage-1)*countPageRecord);
  int i=0;
  while (rs.next()){
%>
  <tr class="style1" align="left">
   <td><%=rs.getString("id")%></td>
   <td><%=rs.getString("name")%></td>
   <td><%=rs.getString("sex")%></td>
   <td><%=rs.getString("birthday")%></td>
   <td><%=rs.getString("enteryear")%></td>
   <td><%=rs.getString("department")%></td>
   <td><%=rs.getString("classname")%></td>
   <td><%=rs.getString("specialty")%></td>
   <td><%=rs.getString("address")%></td>
   <td><%=rs.getString("comments")%></td>
  </tr>
<%
  i++;
  if(i>=countPageRecord) break;//当前页显示完成退出循环
  }
%>
</table>
<hr>
<%
  out.print("<center><font size=2>");
  out.print("共"+countPage+"页 当前第"+currentPage+"页 每页"+countPageRecord+"条记录 共"+countRecord+"条记录 ");
%>

<%
  if(currentPage==1)//当前页是首页
  ;
  else//当前页不是首页
  {
    out.print("<a href=Select_Page_Database.jsp?currentPage=1>首页</a> ");
    out.print("<a href=Select_Page_Database.jsp?currentPage="+(currentPage-1)+">上一页</a> ");
  }
  if(currentPage==countPage)//当前页是末页
  ;
  else//当前页不是末页
  {
    out.print("<a href=Select_Page_Database.jsp?currentPage="+(currentPage+1)+">下一页</a> ");
    out.print("<a href=Select_Page_Database.jsp?currentPage="+countPage+">末页</a>");
  }
  out.print("</center></font>");
%>
<%
  rs.close();
  stmt.close();
  con.close();
%>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值