JDBC操作 SQL SERVER之数据的分页显示

 

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%
     try
{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
}
catch(ClassNotFoundException e)
{
   out.print(e.toString()) ; 
}
%>
<%
    int  pages=1 ;
    String pram=request.getParameter("page") ;
    if(pram==null)
    {
     pram="1"  ;
      pages=1 ;
    }
    else
    { 
     pages=Integer.parseInt(pram) ;
    }  
%>
<html>
<head>
<title>分页显示数据记录</title>
</head>
<body>
<%
   Connection  c ;
   Statement  s ;
   ResultSet  r ;
   try
   {  
    int countRow= 5 ;  //每页几行
    int allCount ;//总行数
    int countPage ;//总页数
   
    c=DriverManager.getConnection("jdbc:odbc:testDatabase","sa","7603835") ;
    s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)  ;//可以滚动可以从结果及更新的ResultSet对象
    r=s.executeQuery("Select * from info") ;  
    r.last() ;
    allCount=r.getRow() ; //获得最大的行数
    int n=allCount%countRow;
    if(n==0)
     countPage=allCount/countRow;
    else
     countPage=allCount/countRow+1;
    out.print("<table border  width=500 >") ;
    out.print("<tr><td colspan=2 align=center >用户信息表</td> </tr>") ;
    out.print("<tr><td width=%50>USERNAME</td><td width=%30>PASSWORD</td></tr>");
    if(pages-1==0)  
          r.first() ;//因为我们吧指针移动到了最后所以一定要移动回去
          else
         r.absolute((pages-1)*5) ; //数据指针移动到当前行的当前页的前面一行
    int i=0 ;
    while(r.next())
    {
  out.print("<tr><td>" + r.getString(1)+"</td>");
  out.print("<td>" + r.getString(2)+"</td>") ;
  out.print("</tr>") ;
  i++ ;
  if(i>=countRow)
   break ;
    }
 
  if(pages==1)   
      out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages+1)+">下一页</a></td></tr>") ;
  else   if(pages==countPage)
   {
    out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages-1)+">上一页</a></td></tr>") ;
   }else
    out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages-1)+">上一页</a>,<a href=NewFile.jsp?page=" +(pages+1)+">下一页</a>"   +"</td></tr>") ;
    out.print("</table>") ; 
  r.close() ;
  s.close() ;
  c.close();  //使用完毕后一定要关闭释放数据库的链接资源 否则提交页面的时候 会出现错误 
 
   }
   catch(Exception e)
   {
    out.print(e.toString()) ;
   }

%>
</body>
</html>

转载于:https://www.cnblogs.com/yuedongwei/archive/2011/12/01/4145578.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值