jdbc ResultSet 问题

publicResultSetfinduser4g(Stringtel){Connectionconn=null;PreparedStatementps=null;Res... public ResultSet finduser4g(String tel) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
User user = null;
try {
conn = JdbcUtils.getConnection();
String sql = "select tel, name, bumen from user4g where tel=?";
ps = conn.prepareStatement(sql);
ps.setString(1, tel);
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
} finally {
★★★JdbcUtils.free(rs, ps, conn);
}
return rs;
}

以上句子在运行的时候如果★★★不释放掉,就能正常显示出来
如何★★★位置的语句运行,就会导致 显示:java.sql.SQLException: 关闭的 Resultset: next
这是为什么
展开
 我来答
yugi111
2014-11-05 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
因为你这个方法返回的是一个ResultSet 对象,这个对象后面还要用到的,然而你这个释放方法,把他也释放掉了,所以就关闭了,所以就报错了,所以不能在这里关闭他,得让他全部循环完了,再来关掉
追问
或者做成bean吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式