你得到rs后马上就在finally里把它关掉,那么你得到它也没有用处啊。
你应当在使用rs之后,确定不会在用到这个rs了,就rs.close();
你应当在使用rs之后,确定不会在用到这个rs了,就rs.close();
解决方案 »
- 求救 急急急
- 问个JDBC问题 请高手指教
- 配置struts2.0出错了,郁闷
- 连续2次更新数据库中间想进行缓冲!!
- 如果线程安全,JSP被翻译成Servlet后,为什么会产生2个对象?第一个对象有何用处?
- http://local:8080为什么显示的页面是空白?
- 如何用jsp做立体饼图?
- 如何用javac命令一次编译整个包的文件?
- 用javabean对数据库进行查询后的结果应该以什么样的方式返回给jsp?
- SSH集成后,提交表单,找不到action?
- 小问题--------当用户单击提交按扭后,只刷新对应表单,不刷新整个页面,怎么做?
- 数据库执行(sql)放入变量中的值,再一条(sql)后怎么就看不到了呢?????
各位,在这方面有没有什么好的方法。
方法2.用javax.sql包,采用JNDI的方式获得一个DataSource的方式进行数据库链接
class DB
{
DB(){}
public Connection con;
public Statement stmt;
/*
........... Instantiate object;
*/
protected void finalize()
{
con.close();
stmt.close();
}
}其他的 BEAN 中声明 DB 对象。
那要不要在每页调用方法finalize()?
我记得好像JAVA会自动调用这个方法。
rs = state.exe.....;
}
catch(...) {}
finally{}
return rs;.
.
.public void close()
{
try
{
if (conn != null)
{
conn.close();
}
if (pstmt != null)
{
pstmt.close();
}
}
catch (SQLException ex) {
}
}这样OK?
{
try
{
if (rs != null)
{
rs.close();
}
if (conn != null)
{
conn.close();
}
if (pstmt != null)
{
pstmt.close();
}
}
catch (SQLException ex) {
}
}
主要问题是在哪里调用这些关闭的方法。