java提示结果集已耗尽,java 结果集已耗尽

场景:java.sql.SQLException: 结果集已耗尽,解决办法

java.sql.SQLException: 结果集已耗尽,解决方法!

点击右边红色标题查看本文完整版:java.sql.SQLException: 结果集已耗尽,解决方法!

我用oracle数据库,建了两个表结构如下:

单位表:id_danwei number ,name_danwei varchar2 ,其中id_danwei是主键。

人员表:id_renyuan number, id_danwei number , name varchar2 ,其中id_renyuan是主键,id_danwei是外键。

我用jsp对表管理,删除单位表中id_danwei=3的记录时,先查看人员表里是否有id_danwei=3的记录,如果有则不允许删除,如果没有则可以删除。

代码如下:

删除

int id_danwei=Integer.parseInt(request.getParameter( "id_danwei "));

if(id_danwei!=0){

try{

String sql_renyuan= "select id_renyuan from renyuan where id_danwei= "+id_danwei;

Statement stmt_renyuan=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet rs_renyuan=stmt_renyuan.executeQuery(sql_renyuan);

rs_renyuan.next();

int id_renyuan=rs_renyuan.getInt(1);

rs_renyuan.close();

stmt_renyuan.close();

if(id_renyuan==0){

try{

String sql= "delete from danwei where id_danwei= "+id_danwei;

Statement stmt=conn.createStatement();

stmt.executeUpdate(sql);

out.print( "删除成功! ");

stmt.close();

}catch(SQLException e){

out.print( "e: "+e);

}

}

else{

out.print( "单位数据不能删除,还有所属人员,请先从人员表中删除所属人员! ");

out.print( " 返回 ");

}

conn.close();

}catch(SQLException e1){

out.print( "e1: "+e1);

}

}

else{

out.print( "单位ID错误,找不到数据! ");

}

%>

结果报错:e1: java.sql.SQLException: 结果集已耗尽

同样的代码在mysql数据库中就可以执行,不知应该怎样解决,盼望各位高手指点,谢谢!

------解决方法--------------------

rs_renyuan.next();

int id_renyuan=rs_renyuan.getInt(1);

如果查出来为空怎么办?而且貌似取第一个不是取1吧

改成

int id_renyuan;

if(rs_renyuan.next()) {

id_renyuan = rs_renyuan.getInt(0);

}

试下

------解决方法--------------------

首先,第一步,请把 conn.close();放到finally中,

如下:

finally{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值