2013-07-03 42 views
2

如果非要循環後,對方使用while(rs.next())通過相同ResultSet不同的原因兩次,我能做些什麼,以便ResultSet不會自動關閉,防止「結果集關閉異常'?我嘗試使用resultset.first()將光標移回第一個循環之後的第一行,但即使在此語句中也會引發此錯誤!將光標移動到第一行後while循環的ResultSet

回答

2

這取決於您使用的驅動程序。

某些驅動程序無法重置ResultSet。在這種情況下,您在致電first()時會得到一個Exception

您可以在Statement與呼叫檢查getResultSetType()如果你的驅動程序支持的ResultSet滾動。

如果可能,請嘗試在一次迭代中完成兩件事情,因爲您永遠不知道是否可以第二次迭代ResultSet

+0

我在一次迭代中做了兩件事情是安全的。至少我可以將它們分開!我真的發現循環結果集的問題!謝謝你的幫助 :) – Bernice

相關問題