問題:您是否可以使用多個語句和記錄集,這些語句和記錄集在同一個非MULTI THREAD中使用相同的連接同時進行操作?jdbc語句連接
我只發現了這個我感興趣的問題,但答案並不一致。
JDBC Statement/PreparedStatement per connection
答案解釋記錄和陳述之間的關係,這是衆所周知的我。
鑑於這種情況,你不能有多個記錄的聲明
回答說,你可以有用於連接多個記錄。但他們沒有提到任何其他來源。
我問,如果它在第一個記錄是可能的循環,然後使用相同的連接(用於生成第一個記錄),打開另一個記錄用它在迭代循環。定義此行爲的文檔在哪裏?
我感興趣的是這樣的情況,該語句執行任務的同時INS
Connection con = Factory.getDBConn (user, pss, endpoint, etc);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery ("SELECT TEXT FROM dba");
while (rs.next()) {
rs.getInt (....
rs.getInt (....
rs.getInt (....
rs.getInt (....
Statement stmt2 con.createStatement =();
ResultSet rs2 = stmt2.executeQuery ("iSelect ......");
while (rs2.next()) {
....
rs2.close();
stm2.close();
Statement stmt3 con.createStatement =();
ResultSet rs3 = stmt3.executeQuery ("Insert Into table xxx ......");
....
rs3.close();
stm3.close();
}
爲了澄清多一點:在stmt3更新的執行,你可以得到這樣的錯誤:
java.sql.SQLException:當前連接上有一個打開的結果集,必須在執行查詢之前關閉該結果集。
所以你不能在同一個連接中混合使用SQL。
這裏似乎沒有問題。你到底在問什麼? –
是的,沒有問號....無論如何。我問是否有可能遍歷第一個記錄集,然後使用相同的連接(用於生成第一個記錄集)打開另一個記錄集使用它並繼續迭代。定義此行爲的文檔在哪裏? – user1594895
是的,這是可能的,只要你沒有試圖使用相同的語句來創建記錄集(在問題的代碼中,你不是)。 –