苍天哪,大地呢.conn.close()到底要放到哪里呀!

heihei425 2005-04-24 10:18:14
public ResultSet jtnr(String name) throws Exception{
String sql="select neirong from fatie where name=?";
ps = conn.prepareStatement(sql);
ps.setString(1,name);
rst=ps.executeQuery();
// conn.close();
return rst;

}
这个方法的返回类型是ResultSet,在该方法里用到了Connection的对象,可是

,如何才能把这个对象关闭呢。这个我知道用conn.close();就可以做到,可是我把

conn.close();放到最后一句,它报错,放到return rst;前边,它虽然不报错了,

可是,我在客户端声明一下ResultSet rs=bean0.jtnr(name);就是得不到数据,
我们用了conn,不用了就要关闭,那怎么样才能让该方法返回ResultSet的对象,又

能关闭Connection的对象呢。
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zanjun 2005-04-24
  • 打赏
  • 举报
回复
try{
//数据库操作
}catch(Exception e){
.........

}
finally{
conn.close();
}
xiaohuozhi 2005-04-24
  • 打赏
  • 举报
回复
同意楼上的,如果你要调用conn.close的话还要捕抓错误!
zmt_cn 2005-04-24
  • 打赏
  • 举报
回复
conn在你使用resultSet前是不能关闭的,你可以在类里定义一个单独的方法:
public void closeCon(){
conn.close() ;
}
然后在你使用完rs后调用这个函数来关闭
woodhouse 2005-04-24
  • 打赏
  • 举报
回复
拿connection和使用这个connection之上的ResultSet应该在一个原子操作中,你把它们分开了,当然无法正确使用了。
古布 2005-04-24
  • 打赏
  • 举报
回复

public Connection getConnection(){}
// 根据参数关闭连结,
public void close( Connection conn ){
conn.close() ;
}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧