2012-04-03 22 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對象(如果存在一個打開的對象)。

相關問題