java.sql.SQLException: After end of result set
來源:程序員人生 發布時間:2013-10-07 00:21:50 閱讀次數:6138次
最近碰到一個問題:java.sql.SQLException: After end of result set。這個問題在網上也查過了,是因為你引用了多個結果集的時候,由于前一個結果集已經和數據庫關閉,你又引用 ,那當然找到的結果為Null.單說會聽得發懵,下面看一下這段程序吧:
// 查找選擇的狀態對應的id
sql1 = " select stateId from state where stateMessage = '"
+ stateBean.getStateMessage() + "' ";
ResultSet rs1 = con.executeQuery(sql1);
try {
while (rs1.next()) {
stateId = String.valueOf(rs1.getInt(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
// 查找選擇的管理員對應的id
sql2 = " select adminId from admin where adminRealName = '"
+ adminBean.getAdminRealName() + "' ";
ResultSet rs2 = con.executeQuery(sql2);
try {
while (rs2.next()) {
adminId = String.valueOf(rs1.getInt(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
不知道大家是否已經注意到第18行的錯誤,adminId = String.valueOf(rs.getInt(1));本來是需要引用rs2的結果集的,但卻引用了上面已經關閉過的rs1的結果集。所以出現java.sql.SQLException: After end of result set這樣的錯誤,就一個很小的細節問題,但如果不細心的話,那將可能弄很久。當然,弄錯一次了也是一個好事,也算是積累了經驗,印象也加深了。希望大家下次不要出現這樣的小問題哦。
注: executeQuery()方法是我已經封裝好的。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈