• ベストアンサー

StatementとResultSetのclose()について

こんにちは。 少し質問なんですが、jdbcを使用してDBとデータのやり取りが終わった後に StatementとResultSetをクローズしないでConnectionだけをクローズすると どうなりますか? StatementとResultSetもガーベージコレクションによりクローズされるのでしょうか? 少し気になったので、どなたか教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ct27
  • ベストアンサー率62% (48/77)
回答No.1

Statement#close()およびResultSet#close()をやらないのは非常にお行儀が 悪いので絶対やりましょう。他の人が見たときに「なんでcloseしないの?」 と疑問に思うことでしょう。 あとループでぐりぐりまわしつつ処理した時などに「最大カーソル数を越えました」 というエラーが出ることがありますから絶対closeした方がいいです。 ちなみにDBに関係するリソースはいらなくなったらすぐcloseした方が安全のようです。 プログラム側だけでなくDB側のリソースも解放することで無用なトラブルを減らすと ある本に書いてありました。

関連するQ&A