一、java是舍五的二、应该根驱动程序有关。以前用jdbc:odbc会有好多限制。可能你的情况也是类似三、先自己做一做吧。主要是absolute方法

解决方案 »

  1.   

    一、那函数Ceil()和Floor()有什么区别?
    二、我用的是SQL SERVER的JDBC,有解决的办法吗?
    三、我以前用PHP的时候写了一个很好的分页程序,在网上查了一些JSP的分页程序感觉太烦琐,主要我对JSP还不是很熟悉,所以想在此请教一个,或者给个提示,都可以。
      

  2.   

    第一个是因为你是两个整型相除,除得的数是个舍去了小数的整数,并没有进行四舍五入.而ceil方法需要的是浮点型的数,这时它就又跟你把这个数自动转换为浮点型,结果就变成了XXX.00这种形式的整数,再用ceil方法后就等到了XXX.而不是真正意义上的四舍五入.你应该把相除的两个数中至少有一个改成浮点型.那么它们得到的商才是真正的浮点型,进而才能得到真正的四舍五入的结果.
    第二个不懂你的意思,"limit start,end"是什么意思????SQL语句中还有这样的语句吗????
    第三个代码:
    <%
    Class.forName("数据库驱动!");
    String url="数据库连接字符串!"
    String username = "sa"; //登录数据库的用户名:
    String password = "";  //登录数据库的密码:
    Connection conn = DriverManager.getConnection(url, username, password);
    Statement stmt = conn.createStatement();
    String sqlstring ="你要查询的记录集!";
    ResultSet rs = stmt.executeQuery(sqlstring);
    ResultSetMetaData rsmd = rs.getMetaData();

    int pageindex = new Integer(request.getParameter("pageth")).intValue();   //要显示第几页,也就是当前所在的页数,过外界传入.
    int rowcount = 10; //每页要显示的行数,可以通过外界传入,也可以规定. String Width = "100%";    //表格的宽度
    String Height = "50";     //表格的高度

    String headbg = "#3399FF";      //表头的背景色
    String endbg = "#CCCFFF";      //表头的背景色

    out.println("<html>");
    out.println("<body>");

    out.println("<div align='center'>");   out.println("<table width=" + Width + " height=" + Height + " border='0' cellpadding='0' cellspacing='1' bgcolor='#000000' class='black9'>");
      
    out.println("<tr class=class='white9'>");

    for (int i = 1; i <= rsmd.getColumnCount(); i++)
    {
    out.println("<th height='10' bgcolor=" + headbg + " scope='col'>");
    out.println(rsmd.getColumnName(i));
    out.println("</th>");
    } out.println("</tr>");

    while(rs.next())
    {
    if(rs.getRow() >= (pageindex-1) * rowcount + 1 && rs.getRow() <= pageindex * rowcount)
    {
    out.println("<tr class='black9'>");
    for (int i = 1; i <= rsmd.getColumnCount(); i++)
    {
    out.println("<th bgcolor='#FFFFFF' scope='col'>");
    out.println(rs.getString(i));
    out.println("</th>");
    }
    }
    out.println("</tr>"); out.println("</form>");
    } out.println("<tr>");
    out.println("<th bgcolor=" + endbg + " colspan=" + rsmd.getColumnCount() + 3 + " scope='col'>");
    for (int i = 1; i <= new Double(Math.ceil(count/10.00)).intValue(); i++)
    {
    out.println("<a href='page.jsp?pageth="+i+">"+i+"</a>");
    }
    out.println("</th>");
    out.println("</tr>"); out.println("</table>");
    %>
      

  3.   

    TO noratong(诺拉) :比如一个表usertable里有100条记录,我只想取第4条到第30条的记录
    select * from usertable limit 4,30
      

  4.   

    TO noratong(诺拉) :你这个分页程序可以借鉴!谢谢!
      

  5.   

    你说的那种SQL语句的形式我从来都没见过,也没听说过,更没用过.恕我不能帮你了.不过你的那句SQL语句我拿到sqlserver里面运行它却报错,说4附近有错误,我改了很多形式都报错,所以一直没运行出结果.而且我也查了sqlserver的帮助,里面没有这种形式的sql语句.它只把limit这个词作为sqlserver将来的关键字咧.
      

  6.   

    limit在MYSQL数据库里可以用,也是SQL标准语句里的语法,可能SQL SERVER里有这个局限吧,因为习惯用这样的语句,在SQL SERVER里突然没的用,觉得不习惯,不过没关系,我根据你的提示,也达到效果了,谢谢!