我做毕业设计,其它的都能做好,就分页做不出来,一页显示记录太多,特别别扭.网上看了不少,却总看不懂,弄得寝食难安,请高手帮帮忙.代码最好注释一下
非常感谢!
如果代码太长,可以发送到

解决方案 »

  1.   

    这是SQLServer的,你稍微改下就行了<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
    <%@page import="java.sql.*"%>
    <html>
    <body>
    <%
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
    String user="sa";
    String password="command";
    Connection conn=DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql;
    int pagecount=0;//总页数
    int pagesize=4;//一页4行记录
    int showpage=1;//默认显示页为第一页
    int recordcount=0;//总记录数
    String topage=request.getParameter("topage");
    if(!(topage==null))
       showpage=Integer.parseInt(topage);
    sql="select count (*) recordcount from T_Student";
    ResultSet rs=stmt.executeQuery(sql);
    rs.next();
    recordcount=rs.getInt("recordcount");
    pagecount=(recordcount+pagesize-1)/pagesize;
    if(showpage>pagecount)
        showpage=pagecount;
    else if(showpage<=0)
        showpage=1;
    sql="SELECT TOP "+pagesize +" * FROM T_Student WHERE (xh NOT IN (SELECT TOP "+(showpage-1)*pagesize +" xh FROM T_Student ORDER BY xh)) ORDER BY xh";
    rs=stmt.executeQuery(sql);
    %><form action="#"> //就是跳转到本页,也可以不写,默认是本页
    <table cellspacing="0" cellPadding="3" border=1 bordercolor="#B0B0B0" rules="all" width="100%">
    <tr bgcolor="#6699FF">
    <td>学号</td>
    <td>姓名</td>
    <td>性别</td>
    </tr>
    <%   
       while(rs.next()){
    %>
    <tr>
    <td><%=rs.getString(1)%>  </td>                    
    <td><%=rs.getString(2)%>  </td>
    <td><%=rs.getString(3)%>  </td>
    </tr>
    <%}%>
    </table>
    <table cellspacing="0" cellPadding="3" border=1 bordercolor="#B0B0B0">
    <tr>
    <td>
    <a href="index.jsp?topage=<%=1%>">第一页</a>
    <a href="index.jsp?topage=<%=showpage-1%>">上一页</a>
    <a href="index.jsp?topage=<%=showpage+1%>">下一页</a>
    <a href="index.jsp?topage=<%=pagecount%>">最后一页</a>
    <span><input name="topage" type="text" class="txt_grey" value="<%=showpage%>"></span>
    </td>
    </tr>
    </table>
    <%
    rs.close();
    stmt.close();
    conn.close();%>
    </form>
    </body>
    </html>
      

  2.   


    <%@   page   contentType="text/html;   charset=GBK"%>   
      <%@   page   import="java.sql.*"%>   
      <%   
          int   pagesize=2;//每页显示记录数   
          int   recordcount=0;//记录总数   
          int   pagecount=0;//总页数   
          int   pageid=1;//待显页码   
          Connection   conn=null;   
          try{   
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
          conn=DriverManager.getConnection("jdbc:odbc:jspguest","sa","sa");   
          Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);   
       
          String   sql="select   *   from   message";   
          ResultSet   rs=stmt.executeQuery(sql);   
          rs.last();   
          recordcount=rs.getRow();//取得总记录数   
          pagecount=(recordcount%pagesize==0?(recordcount/pagesize):(recordcount/pagesize)+1);//取得总页数   
          int   count=1;   
          String   strpage=request.getParameter("pageid");   
          if(strpage==null)   pageid=1;   
          else   pageid=Integer.parseInt(strpage);   
          if(pageid>recordcount)   pageid=recordcount;   
          if(recordcount>0){   
          rs.absolute((pageid-1)*pagesize+1);}   
          int   i=0;   
          //rs.previous();   
          rs.beforeFirst();   
          while(rs.next()&&count<=pagesize){   
          count++;   
          i++;   
                out.print(rs.getString("name"));   
        out.print("||");   
        out.print(rs.getString("title"));   
        out.print("<br/>");   
              
            }   
            out.print("共");   
            out.print(pagecount);   
            out.print("页");   
              
            out.print("共");   
            out.print(recordcount);   
            out.print("条");   
              
            out.print("第");   
            out.print(pageid);   
            out.print("页");   
              
            out.print("<br/>");   
            if(pageid<pagecount){   
            out.print("<a   href=del.jsp?pageid=");   
            out.print(pageid+1);   
            out.print(">下一页</a>");}   
            if(pageid>1){   
            out.print("<a   href=del.jsp?pageid=");   
            out.print(pageid-1);   
            out.print(">上一页</a>");}   
            out.print("<br/>");   
            for(int   j=1;j<=pagecount;j++){   
            out.print("<a   href=del.jsp?pageid=");   
            out.print(j);   
            out.print(">");   
            out.print(j);   
            out.print("</a>");}   
            stmt.close();   
          conn.close();   
          }   
          catch(ClassNotFoundException   e){   
              out.println(e.getMessage());   
      }   
      catch(SQLException   e)   {   
      out.println(e.getMessage());   
      }   
      finally{   
        try{   
          if(conn   !=   null)   
            conn.close();   
            }   
            catch(Exception   e){}   
          }   
          %>   
    把连接字符串改一下就好了
      

  3.   

    晕了  mysql 用 limit 呀select ****   limit begin,sizebegin 表示 从 哪行开始
    size 表示 返回行数 就是 每页显示多少记录begin = (page-1)*size
      

  4.   


    int PageSize=10,i=0,RowCount=0,PageCount;
    int GetPage=Chk.IsPage(request.getParameter("page"));
    ResultSet RSs=Conn.executeQuery("Select Count(SID) As s From comments where SID ="+ID);
    if(RSs.next()){
    RowCount=RSs.getInt("s");
    }
    PageCount = (RowCount+PageSize-1) / PageSize;
    if(GetPage>PageCount) GetPage = PageCount;
    int p=(GetPage-1)*PageSize;
    String sqlComment="Select * From comments where SID = "+ID+" Order By ID ASC limit "+p+","+PageSize+"";
      

  5.   

    我们教程里对jsp分页有很深刻的讲解。
    见:http://www.family168.com/tutorial/jsp/html/jsp-ch-15.html
      

  6.   

    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_openBrWindow(theURL,winName,features) { //v2.0
      window.open(theURL,winName,features);
    }
    //-->
    </script>
    <script>
      function openbag(id) { window.open("basket.jsp?id="+id,"","height=420,width=460,left=190,top=10,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");} 
    </script>
    <table   border=0 align="center" cellpadding=0 cellspacing=1>
    <tr bgcolor="#E6E6E6">
    <th width="251">图书名称</th>
    <th width="111">出版社</th>
    <th width="112">定价</th>
    <th colspan="2">日期</th>
    </tr>
    <%
    //public bs=rs.getString("leiID");
      int intPageSize; //一页显示的记录数
      int intRowCount; //记录总数 
      int intPageCount; //总页数 
      int intPage; //待显示页码 
      String  strPage,lei; 
      int i; 
      //设置一页显示的记录数 
     intPageSize =15; 
    //取得待显示页码 
    strPage = request.getParameter("page"); 
    lei = request.getParameter("lei"); //图书类别
    if(lei==null){
    lei="1";
    }if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据 
      intPage = 1; 
      } else{//将字符串转换成整型 
    intPage = java.lang.Integer.parseInt(strPage); 
    }sql="select * from tushumingxi where lieID="+java.lang.Integer.parseInt(lei);
    Statement selstmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs=selstmt.executeQuery(sql);
    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()){
    int bkid=rs.getInt("shuID");
    %>
            
            <tr valign="middle" bgcolor="#f8f8f8" height="25">
    <td width="251" bgcolor="#f8f8f8" ><a href=# onClick="MM_openBrWindow('browbook.jsp?id=<%=bkid%>','','width=400,height=550')"><%=rs.getString("shu_name")%></a></td>
    <td><%=rs.getString("banshe")%></td>
    <td><div align="center">¥<%=rs.getString("dingjia")%>元</div></td>
    <td width="114"><%=rs.getString("date")%></td>
    <td width="34" align="center"><a href="javascript:MM_openBrWindow('basket.jsp?id=<%=bkid%>','','scrollbars=yes,width=480,height=350')"><img src="image/04dd_car.gif" width="19" height="16" border="0"></a></td>
      </tr>
            <tr>
              <td height=1 colspan="5" background="image/dian.gif"><img src="images/blank.gif" width=1 height=1></td>
            </tr>
             <%rs.next(); 
       i++; 
    } rs.close();
    selstmt.close();
    conn.close();%>
    </table>
    <p align="center">
    共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,您所在本页是:第<%=intPageCount%>页
    <%for(int j=1;j<=intPageCount;j++)
    {out.print("&nbsp;&nbsp;<a href='language.jsp?lei="+lei+"&page="+j+"'>"+j+"</a>");
    }%>我以前写的代码!记得加分啊