0
関数で返却されたResultSetを使いたい場合のcloseタイミングについて
関数で取得したResultSetを、戻り値として使いたい場合のcloseのタイミングについてご教授ください。
具体的には以下のような処理を考えています。
気にしているのは、参照渡しといえどアドレスの値渡しをしているだけなので、呼び出し先でクローズしなくても、以下のソースで正しくクローズできているのかが知りたいです。
--
【呼び出し側】
ResultSet rs = null;
PreaparedStatment ps = null;
try {
// ResultSet取得
rs = selectQuery(rs, ps, param);
} catch (Exception e) {
エラー処理
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
// 何もしない
}
}
--
【呼び出され側】
public ResultSet selectQuery(ResultSet rs, PreparedStatment ps, String param) {
// 諸々省略
try {
ps = dba.createPreparedStatment(SQL文)
// パラメータ設定
ps.setString(1, param);
// SQL実行
rs = dba.select(ps);
} catch (SQLException e) {
エラー処理
}
return rs;
}