对于ORACLE,除了count(*),是否还有其他的方法得到记录总数?rs.getRow()?

解决方案 »

  1.   

    st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    //ResultSet.TYPE_SCROLL_INSENSITIVE 是设置记录集指针可以向后滚动ResultSet.CONCUR_READ_ONLY 是设置不能对数据库更新
    rs = st.executeQuery(sql);
    //计算总记录数
    rs.last();//将指针指向最后一条记录
    this.rows=rs.getRow();//得到记录总数
      

  2.   

    楼上正解,但是特别要注意,这个时候 stmt应该声明为动态的。st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);