"select count(*) as total from mg_wap_battle where from_id=?"
ResultSet.getInt("total");或者getString

解决方案 »

  1.   

    我本想用Vector来做,但是好象不太好实现
      

  2.   

    sqlStmt = sqlConn.createStatement(
              ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    你可能这里错了 
    你默认的sqlConn.createStatement();试试
     rs.last()再getRow的方法可以的
      

  3.   

    建议多使用PreparedStatement
    public static String url="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=GBK";
    public static Connection getConnection()throws SQLException,java.lang.ClassNotFoundException{
    Class.forName("org.gjt.mm.mysql.Driver");
    return DriverManager.getConnection(url);
        }
         
    public static void main(String[] argv)throws Exception{
    Connection conn=getConnection();
    PreparedStatement psm=conn.prepareStatement("select * from stocktable");
    ResultSet rs=psm.executeQuery();
    rs.last();
    System.out.println(rs.getRow());
    rs.close();
    psm.close();
    conn.close();
    }

    }
      

  4.   

    如果上述方法都不行的话,你可以尝试一下这个方法
    int count=0;
    while(rs.next)
    count++;
    这样能统计总行数。
      

  5.   

    不行,程序到rs.last()就出错了,没有往下执行了!!!!
      

  6.   

    用PreparedStatement psm=conn.prepareStatement("select * from stocktable");
    这个方法还是不行,难道真的要用二次查库???
      

  7.   

    姐姐,我有个想法,你可以select count(*), id, ......
    这样,rs.getInt(1)返回的就是行数啊。认同的话给点分吧,还没人给过我呢。
      

  8.   

    我觉得最好别用  last(),它比count(*)耗资源要大
      

  9.   

    请问抛出什么异常
     偶用rs.last()没问题哦
      

  10.   

    同意zgysc,
    last()不快,数据库连接没有断开的话还是用count()好,
      

  11.   

    我的mysql是3.2.3,由于某些原因,不能升级。错误为:
    java.lang.AbstractMethodError: org.gjt.mm.mysql.ResultSet.last()Z
      

  12.   

    你可以去升级一下mysql的jdbc驱动试试,
    不过用.last()这样实在效率较低,还不如select count(...) 来的快.
      

  13.   

    需要驱动支持,还有就是在createStatement的时候要加参数
      

  14.   

    如果取到的记录集为空的时候调用last方法会抛出异常的
      

  15.   

    由于不能升级驱动程序,只好采用了count(*)再查一次库,从而取得记录个数!:(