DBPreparedStatement stmt = null;
try
{
stmt = new DBPreparedStatement(UTIL.getDatabase(), sql.toString(), "Graph.saveLastGraphName");
stmt.setString(1, DBGlobals.doubleQuote(graphNameUsed));
stmt.setString(2, userUpper);
stmt.executeUpdate();
stmt.close();
}
catch (Exception ex)
{
DBGlobals.Error("OHMjson.Graph.saveLastGraphName - Error: " + ex.getMessage());
msg = "Unable to save data";
status = false;
}
finally
{
if (stmt != null)
stmt.close();
}
我正在关闭finally块中的数据库语句,这是正确的方法。 这会导致任何内存泄漏。
答案 0 :(得分:3)
是的,我同意你的意见,这是正确的做法。在finally块中关闭它将确保语句始终关闭,即使在特殊情况下也是如此。您甚至可以在尝试中删除stmt.close()
,因为它将在finally块中被调用。