今天在程序中看见这样一段代码
ResultSet rs = null;
ResultSet rs1 = null;
Statement st = conn.createStatement();
String sql = "select a from b";
String sql1 = null;
rs = st.executeQuery(sql);
while(rs.next){
sql1 = "select c from d where h="+rs.getString("a");
rs1 = st.executeQuery(sql1);
if(rs1.next){
break;
}
}
每次while循环都会执行一次不管rs1结果集是否有值。查jdk知道相关的Statement 重新执行executeQuery操作会隐式关闭掉上一次的ResultSet对象。