2012-04-03 23 views
1
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行中声明)......按我的观察,resultSet1已经上线运行后,改变了5的ResultSet查询

请解释是否我的观察是对还是错。

回答

1

Statement javadoc

默认情况下,每个Statement对象只有一个ResultSet对象可以是在同一时间打开。因此,如果一个ResultSet对象的读取与另一个ResultSet对象的读取交错,则每个对象必须由不同的Statement对象生成。 Statement接口中的所有执行方法隐式关闭一个语句的当前ResultSet对象(如果存在一个打开的对象)。

相关问题