如果支持JDBC2.0
    resultSet.last();
    int rowCount=resultSet.getRow();
如果不支持JDBC2.0
使用    select count(*) 语句先查一次

解决方案 »

  1.   

    最好用Select count取,数据量太大的话用last()导致不必要的开销
      

  2.   

    Conntion conn;
    Statement stmt = conn.createStatement();
    String sql="select count(*) from nodesite where ...";
    ResultSet rst = stmt.executeQuery(sql);
    if(rst.next())
      rst.getInt(1);
      

  3.   

    我是想计算有多少个id.但如果用count(*) 查询太慢。
    而直接select id from ....却较快
    所以我想java能不能有直接取得行数的方法。
      

  4.   

    至今还没有,
    只有
        resultSet.last();
        int rowCount=resultSet.getRow();
      

  5.   

    但我用
     resultSet.last();
        int rowCount=resultSet.getRow();却抛出下列异常
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156) at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:75)
      

  6.   

    rs为结果集。
    int row=0;
    if(rs.next())
    {
      rs.last();
      row=rs.getRow();
      rs.beforeFirst();
    }