口福 2019-12-11 22:25 采纳率: 0%
浏览 453
已采纳

conn.close();关闭资源后,执行只输出数据库的第一行?

while(rs.next()) ,后面不关闭资源本来是输出全部数据库内容的,

conn.close();关闭资源后,执行结果却只输出数据库的第一行,怎么解决关闭资源后只输出一行的问题?谢谢
while(rs.next()) {//把光标移动到下一行,并且判断下一行是否存在
int id = rs.getInt(1);//通过编号获取该列的值
String name = rs.getString("name");//通过列名称来获取该列的值
int age = rs.getInt("age");
System.out.println(id+","+name+","+age);
/*四.关闭资源,释放资源
*倒关
* 必须关闭资源
* 先得到的对象后关闭,后得到的对象先关闭
*/
rs.close();
st.close();
con.close();//必须关闭资源,不关就死!
}
}
}图片说明图片说明

  • 写回答

3条回答 默认 最新

  • 「已注销」 2019-12-12 10:34
    关注

    你这个while循环是用来取出数据并进行处理的,然鹅你把关闭资源的操作也写在while循环里面,这就导致了,当你第一次操作完,取出第一行数据之后,就执行了关闭资源的操作,那你后面还咋取。。。正常流程应该是在while之前获取资源,在while中操作资源,在while之后关闭资源!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作