statement的内存问题,在线给分

hotenM 2002-09-03 11:13:45
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}
}

这样一个函数~~~

返回了rs,rs可以关闭,可是stmt没有关闭,久了,
Statement stmt=conn.createStatement();
这句话就不能释放了。
各位有没有心得?
...全文
21 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andrawu 2002-09-03
  • 打赏
  • 举报
回复
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}finally{
stmt.close();
conn.close();
}
return rs ;
}
luerdong 2002-09-03
  • 打赏
  • 举报
回复
stmt要你自己释放的,做成ConnectingPool应该更好些
richardluopeng 2002-09-03
  • 打赏
  • 举报
回复
没有遇到过呀。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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