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

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条)

报告相同问题?