查询语句之后得到一个ResultSet对象rs,现在要知道它的长度,如何进行?
当然,你可以
while(rs.net)
{
  ...统计...
}
但这样统计过后,rs的游标就移动了,我再无法用rs了,但我算出长度之后,还要用rs的。

解决方案 »

  1.   

    rs也是查询数据库得到的吧
    那么select count(*) 实际上就是得到了rs的长度,不过查询的条件要相同哦
      

  2.   

    huihui0103() :
    如果你count(*)之后,有人删了几条,你就死定了,嘿嘿~
      

  3.   

    hbwhwang
    大哥我都没考虑到这点,呵呵
    那就
    rs2.afterLast();
    rs2.previous();
    int count=rs2.getRow();
    out.print("count="+count);
      

  4.   

    上面写的有点多此一举了
    rs.last();
    int count=rs.getRow();
    out.print("count="+count);
    r.beforeFirst();
      

  5.   

    rs.last();
    int count=rs.getRow();
    out.print("count="+count);
    r.beforeFirst();
      

  6.   

    简单了,像你那样就算遍历到最后也可以rs.beforeFirst()回来。不遍历就用楼上几位的啦
      

  7.   

    ResultSetMetaData
    支持
     over!
      

  8.   

    ResultSetMetaData好像只支持列吧,不支持行吧??
      

  9.   

    ResultSet确定是没有办法直接取出大小,只能在创建时指定是可回滚的,在每一个NEXT后进行统计,最后回到起始处。如果使用rowset或它的子接口就可以直接取出size。