重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは。

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

少し気になったので、どなたか教えてください。
よろしくお願いします。

A 回答 (1件)

Statement#close()およびResultSet#close()をやらないのは非常にお行儀が


悪いので絶対やりましょう。他の人が見たときに「なんでcloseしないの?」
と疑問に思うことでしょう。
あとループでぐりぐりまわしつつ処理した時などに「最大カーソル数を越えました」
というエラーが出ることがありますから絶対closeした方がいいです。

ちなみにDBに関係するリソースはいらなくなったらすぐcloseした方が安全のようです。
プログラム側だけでなくDB側のリソースも解放することで無用なトラブルを減らすと
ある本に書いてありました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!