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

8 篇文章 0 订阅
7 篇文章 0 订阅
本文分析了一个Java应用程序中出现的java.sql.SQLException: After end of resultset异常。问题源于在一个结果集被关闭后再次尝试使用该结果集。通过示例代码详细说明了如何避免这种错误。
摘要由CSDN通过智能技术生成

问题:java.sql.SQLException: After end of result set

代码如下:

下面看一下这段程序吧:
 
  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 }

 

问题分析:

在while的条件里已经用了resulset,然后它就关闭了。但是在后面又调用了resultset,因为它已经关闭,所以就会抛出异常。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值