intPageCount = (intRowCount+intPageSize-1) / intPageSize; 
这句好象有问题呀
intPageCount=intRowCount/intPageSize;
if(intRowCount%intPageSize!=0)
intPageCount+=1;

解决方案 »

  1.   

    可是我在另外的一个文件也用这个方法,是成功的阿,就是这个
    <%@ page import="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312"%><%
    java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.lang.String strSQL; //SQL语句 int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 int intPage; //待显示页码 
    java.lang.String strPage; int i,j,k; //设置一页显示的记录数 intPageSize = 10; //取得待显示页码 strPage = request.getParameter("page"); 
    if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据 intPage = 1; } else{//将字符串转换成整型 intPage = java.lang.Integer.parseInt(strPage); 
    if(intPage<1) intPage = 1; }//装载JDBC驱动程序 
     Class.forName("com.inet.tds.TdsDriver");
            sqlCon= java.sql.DriverManager.getConnection("jdbc:inetdae7://localhost:1113/user_db?user=rain&password=");
         //连接数据库
    sqlStmt=sqlCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
     strSQL = "select count(*) from leaveword"; 
     //获取记录总数 
     sqlRst = sqlStmt.executeQuery(strSQL);
     //执行SQL语句并取得结果集 
     sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前          intRowCount = sqlRst.getInt(1);          sqlRst.close(); //关闭结果集
     
     intPageCount = (intRowCount+intPageSize-1) / intPageSize;           //调整待显示的页码 
              if(intPage>intPageCount) intPage = intPageCount;   //设置获取数据SQL语句 strSQL = "select * from leaveword order by time desc "; //执行SQL语句并取得结果集 sqlRst =sqlStmt.executeQuery(strSQL);  //从数据库中查询出所有留言,按留言时间的倒序查询
     //将记录指针定位到待显示页的第一条记录上 i = (intPage-1) * intPageSize; for(j=0;j<i;j++) sqlRst.next();%>
    <html> 
    <head><title>欢迎来到教改同学谈留言板</title></head>
    <style type="text/css"> 
    <!-- 
    a { text-decoration:none} 
    --> 
    </style>
     <body> <p align=center><strong><font face="华文行楷" size="6" color="#336699">教改同学谈留言板</font></strong></p> <table border="1" bordercolor="#FFFFFF" cellspacing="0" cellpadding="0" width=458 align=center bgcolor="#ddf7fb">
     
     <% //显示数据 i = 0; 
    while(sqlRst.next())
     {
     String UName=sqlRst.getString("UName");
     String Email=sqlRst.getString("Email");
     Timestamp Time=sqlRst.getTimestamp("Time");
     Date date_time=new Date(Time.getTime());
     Time time_time=new Time(Time.getTime());
     //处理时间格式
         String Content=sqlRst.getString("Content");
     //得到留言信息各字段
     %>
      
     <!--定制输出表格样式-->
     <tr><td >姓名:</td>
     <td colspan="2"><%=UName%></td>
     </tr>
    <tr>
    <td>Email:</td>
    <td>
    <%
    if(Email!=null)
    out.println("<a href=mailto:"+Email+">"+Email+"</a>");
    //输出发电子邮件的链接格式
    else out.println("&nbsp");
    %>
    </td></tr>
    <tr><td >时间:</td>
    <td colspan="2">
    <%
    out.println(""+date_time+"  "+time_time+"");
    //输出时间
    %></td>
    </tr>
    <tr><td >
    内容:
    </td>
    <td colspan="2">
    <%=Content%>
    <!--输出留言内容-->
    </td></tr>
    <% i++; } %><tr> <td  align=center colspan="2"> 第<%=intPage%>页  共<%=intPageCount%>页  <%if(intPage<intPageCount){%><a href="view_leaveword.jsp?page=<%=intPage+1%>">下一页</a><%}%>  <%if(intPage>1){%><a href="view_leaveword.jsp?page=<%=intPage-1%>">上一页</a><%}
    %> </td> </tr>
    <tr>
        <td colspan="2"> <div align="center"><a href="leaveword_default.htm">我要留言</a></div></td></tr></table> </body> </html> 
    <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库sqlCon.close();%>
      

  2.   

    //显示数据 i = 0; 
    while(sqlRst.next())觉得这个也有问题//显示数据 i = 0; 
    while(sqlRst.next()&&i<intPageSize)
      

  3.   

    计算页数是这样的:
    intPageCount = (intRowCount-1) / intPageSize + 1;
      

  4.   

    sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前 
    intRowCount = sqlRst.getInt(1); ????