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>

上一篇:IBM Watson 进入癌症基因组分析市场


下一篇:Raspberry Pi上手笔记之二 - 安装操作系统