Statement stmt=conn.createStatement(); //1
Statement stmt2=conn.createStatement(); //2
ResultSet resultSet1=stmt.executeQuery("-----"); //3
while(resultSet1.next()) { //4
ResultSet resultSet2 = stmt.executeQuery("-----"); //5
}第5行是否会导致resultSet1 (在第3行中声明)....As中的任何更改根据我的观察,resultSet1在第5行执行后已更改。
请解释一下我的观察是对还是错。
发布于 2012-04-03 20:59:02
来自Statement javadoc
默认情况下,每个语句对象只能同时打开一个ResultSet对象。因此,如果一个ResultSet对象的读取与另一个对象的读取交错,则每个对象必须由不同的Statement对象生成。语句接口中的所有执行方法都隐式关闭语句的当前ResultSet对象(如果存在打开的对象)。
https://stackoverflow.com/questions/9993672
复制相似问题