关闭ResultSets和PreparedStatements的快速修复程序



由于使用了库,我遇到了一些模块接口问题。

http://technojeeves.com/joomla/index.php/free/59-resultset-to-tablemodel

我不得不将Resultset对象从数据库模块中传递出去。正如你可能认为的那样,它并不是用于编程的模块化。所以我做了一些类似的事情

public ResultSet getEmployee()
{
   PreparedStatement pst = null;
   ResultSet rs = null;
   String sql = "select * from employees";
   try
   {
      pst = conn.PreparedStatement(sql);
      rs = pst.executeQuery();
   }
   catch (SQLException e)
   {
    OptionPane.showMessageDialog(null, "Database Access Error");
   }
   return rs;
}

在一些显示模块上,我做了

tblEmp.setModel(DbUtils.resultSetToTableModel(rs));

现在,我正忙于完成我的项目,以便交付和突然发现了这个帖子。

在哪里关闭java PreparedStatements和ResultSet?

然后意识到我所做的一切都是错误的。我不得不从数据库模块中传递一个"set"对象。但正如你所看到的,图书馆并不是这样使用的。如何修复此问题以正确关闭所有结果集?感谢

我建议您考虑使用CachedRowSet而不是ResultSet。事实上,您甚至不需要更改方法签名,只需更改方法以返回RowSetProvider.newFactory().createCachedRowSet(rs);并关闭finally块中的rspst即可。

我不同意@ElliottRisch的建议。这只是混淆了GUI和数据库代码。

相关内容

  • 没有找到相关文章

最新更新