- ベストアンサー
ADOを使ったDBアクセス後のメモリ解放
よく最後に rs.close set rs=nothing と記述してあるソースを見るのですが、 set rs=nothing で全部チャラにするなら rs.close は要らないんじゃないか?と思ったりするのですが、 やっぱり必要なんでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
厳密に言うと rs.Close と Set rs = Nothing は意味が異なります。 Set rs = Nothing でレコードセットオブジェクトがメモリから開放されるのなら( rs 以外によってレコードセットオブジェクトを参照していない場合)、rs.Close はいらないんじゃないかと思います。 Public rs2 As Recordset Set rs2 = rs のようなことをしていた場合( rs 以外によってレコードセットオブジェクトを参照している場合)は Set rs = Nothing としても rs2 が生き残っているので、レコードセットオブジェクトはメモリから開放されません。従ってこの場合、Close しない限り開いたままになります。