在Statement接口的JDBC Javadocs上找到了这个:“该对象用于执行静态SQL语句并返回其产生的结果。
默认情况下,每个Statement对象只能同时打开一个ResultSet对象。
因此,如果一个ResultSet对象的读取与另一个的读取交错,则每个都必须由不同的Statement对象生成。如果存在打开的语句,Statement接口中的所有执行方法都会隐式关闭该语句的当前ResultSet对象。“请参阅语句javadoc
因此,在我看来,如果要同时打开两个ResultSet,则需要两个不同的Statement。或者,您需要完成第一个ResultSet的处理并将其关闭,以便可以重新使用Statement创建第二个ResultSet。



