ResultSet最好不好持续用。
换句话说,最好不要长时间保持跟数据库的连接。
因为数据库的连接数是有限的,极为宝贵。
最好是取完数据后马上rs.close();stmt.close();conn.close();

解决方案 »

  1.   

    可以考虑使用CachedRowSet类,可以实现你的要求,且生数据库资源,但是浪费内存。
      

  2.   

    我同意Tasia(这里是CSDN吗?) 的观点。
    不要一直保持着数据库的记录集一直打开
      

  3.   

    用Vector或ArrayList把它取出来
    就如Tasia说那样,数据库的连接是有限的,要考虑清楚
      

  4.   

    声明Statement时使他具有resultSetHoldability属性,如声明成:
    Statement st=createStatement(int scrollable,int updateable,int resultSetHoldability)
    前两个是滚动和更新的属性。第三个属性有两个值:ResultSet.HOLD_CURSORS_OVER_COMMIT:表示修改提交时,不关闭ResultSet。
    ResultSet.CLOSE_CURSORS_AT_COMMIT:表示修改提交时ResultSet关闭。
      

  5.   

    ResultSet只是一个存储数据的临时性类,所以想长时间的保留其中的值,最好用其它的类来保存其中的值,比如集合类,向量类等
      

  6.   

    对了,我说的持久性是在JDBC3.0种才支持。