如果你需要在处理一个 ResultSet 的时候执行一个查询,你只需要创建并且使用另外一个 Statement.
如果你使用了 Threads (线程),并且有几个使用数据库,你对每个线程必须使用一个独立的 Statement.如果考虑使用线程,请参考本文档稍后描述 Threads 和 Servlets 的章节,因为这些内容包含一些重要的信息.
在 JDBC 规范里,你应该对一个字段只访问一次.遵循这个规则是安全的,不过目前 Postgres 驱动将允许你对一个字段访问任意次.
一旦你结束对一个 ResultSet 的处理,你必须调用对之 close()。
一旦你使用那个创建 ResultSet 的 Statement 做另一个查询请求,当前打开的实例将被关闭.
Statement st = db.createStatement(); ResultSet rs = st.executeQuery("select * from mytable"); while(rs.next()) { System.out.print("Column 1 returned "); System.out.println(rs.getString(1)); } rs.close(); st.close();