ResultSet 
问题1.我通过rs的什么方法可以得到表中共有多少条记录?
先用last()再用
getRow() 就是记录数了
这个法子怎么这么笨,谁友好一点的啊?
问题2.通过rs的什么方法可以定位到rs的第n条记录?
absolute(int row)

解决方案 »

  1.   

    问题1解答:
    执行sql查询语句:select count(*) as number from table;
    然后:rs.getInt("number")获得纪录条数
    问题2解答:
     boolean absolute(int row) 
              Moves the cursor to the given row number in this ResultSet object. 
    这个方法应该能满足你的需要,不明白的话去看看帮助文档
      

  2.   

    似乎不行啊
    我连的是DB2的数据库
    "select count(*) as number from table group by ...";
    这条sql出错还有我用younggone(牛)的方法也不行
    rs.last();//这句就出错了
    //java.sql.SQLException: [IBM][JDBC Driver] CLI0627E ???????? 
    out.println(rs.getRow());
      

  3.   

    怎么都不行,这些法子都是久经考验的,实在不行你就while(rs.next()) rowNum++
    别的我也没法子了!
      

  4.   

    问题一
    1,  String sql="select count(*), * from tablename";
    或2,String sql="select * from tablename";
         resultset赋值;
         int rowCount = resultset.last();
    问题二:
         int position = 要跳到的记录号;
         resultset.absolute(position);
      

  5.   

    楼上
    resultset.last()返回的是一个布尔类型
    和int类型不兼容的说
    -_-得到记录总数的问题得以解决了,谢谢luoyewuhen(落叶无痕)
    只是我对ResultSet对象进行操作不行啊
    ResultSet rs=stmt.executeQuery(sql);
    ....
    不能直接对rs对象进行操作
    int k=...;
    rs.absolute(k);
    编译没问题,运行立即报sql错
      

  6.   

    对rs的操作一定要放在
    if(rs.next()){}或者whilr(rs.next())之中进行操作.试试吧