国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

出現java.sql.SQLException: After end of result set的原因

2024-07-21 02:45:11
字體:
來源:轉載
供稿:網友
 最近一直在做一個公司布置的小系統,很多收獲 ,也很多想法,一直沒能將收獲的內容放在這里分享。我個人感覺,編碼一定要很細心,一點點小問題可能都會導致你摸不著頭腦,找不到頭緒,然后大量地去網上找資料,看什么錯誤,其實不然。我們更需要去看系統為我們所報的錯誤,細心分析,其實就是一個很簡單的問題:自己審查代碼不夠細心,就像這兩天困擾我的一個問題,弄得煩,一直感覺自己編碼沒錯 ,但就是出現不想要的結果,java.sql.SQLException: After end of result set。

  這個問題在網上也查過了,是因為你引用了多個結果集的時候,由于前一個結果集已經和數據庫關閉,你又引用 ,那當然找到的結果為Null.單說會聽得發懵,下面看一下這段程序吧:


1             // 查找選擇的狀態對應的id
2             sql1 = " select stateId from state where stateMessage = '"
3                     + stateBean.getStateMessage() + "' ";
4             ResultSet rs1 = con.executeQuery(sql1);
5             try {
6                 while (rs1.next()) {
7                     stateId = String.valueOf(rs1.getInt(1));
8                 }
9             } catch (SQLException e) {
10                 e.PRintStackTrace();
11             }
12             // 查找選擇的管理員對應的id
13             sql2 = " select adminId from admin where adminRealName = '"
14                     + adminBean.getAdminRealName() + "' ";
15             ResultSet rs2 = con.executeQuery(sql2);
16             try {
17                 while (rs2.next()) {
18                     adminId = String.valueOf(rs1.getInt(1));
19                 }
20             } catch (SQLException e) {
21                 e.printStackTrace();
22             }
不知道大家是否已經注意到第18行的錯誤,adminId = String.valueOf(rs.getInt(1));本來是需要引用rs2的結果集的,但卻引用了上面已經關閉過的rs1的結果集。所以出現java.sql.SQLException: After end of result set這樣的錯誤,就一個很小的細節問題,但如果不細心的話,那將可能弄很久。當然,弄錯一次了也是一個好事,也算是積累了經驗,印象也加深了。希望大家下次不要出現這樣的小問題哦。


注: executeQuery()方法是我已經封裝好的



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昆明市| 仙游县| 峨边| 沿河| 峨眉山市| 策勒县| 阿勒泰市| 林州市| 教育| 黎川县| 府谷县| 安泽县| 福清市| 潜山县| 郸城县| 阳东县| 武宁县| 利辛县| 莱西市| 林甸县| 镇安县| 隆安县| 东莞市| 南投县| 定安县| 来安县| 上虞市| 治县。| 延吉市| 汝州市| 宁乡县| 闽侯县| 房产| 财经| 特克斯县| 浪卡子县| 永州市| 化德县| 宣恩县| 罗甸县| 会同县|