可以在单个ResultSet中使用两个查询
答案 0 :(得分:2)
结果集对应于单个SQL查询。但是,您的“单个”查询可以使用 UNION 来有效地组合多个查询。
答案 1 :(得分:0)
不,你不应该这样做。 例如
ResultSet rs = null;
Statement stmt1 = con.createStatement("Query1");
Statement stmt2 = con.createStatement("Query2");
rs = stmt1.executeQuery();
while(rs.next()){
}
//Here result set should be closed before assigning new result set to "rs" variable like
stmt1.close();
rs.close();
rs = stmt2.executeQuery();
您应该在再次使用之前关闭旧的结果集。如果不关闭旧的resultset对象,那么它将在内存中,永远不会被垃圾回收。 如果在这种情况下关闭数据库连接对象(没有正确关闭结果集),则连接对象不会被垃圾收集(不会重新调回池),因为连接有引用(即未关闭的结果集)。