- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:datasetが破棄されるタイミングを教えてください。)
datasetの破棄タイミングとは?
このQ&Aのポイント
- VS2003とSQL Server Management Studio Expressを使用してVB.NETでデータベースを利用したプログラムを学んでいます。そこで学んだdatasetですが、破棄されるタイミングがわかりません。プログラム内で破棄するコードが書かれていない場合、datasetはどのようなタイミングで破棄されるのでしょうか?
- datasetの破棄されるタイミングを教えてください。VB.NETでデータベースを操作する際に使用するdatasetですが、どのようなタイミングで破棄されるのか分かりません。プログラム内で破棄するようなコードを書いていない場合、datasetはいつ破棄されるのでしょうか?
- VB.NETのdatasetについて質問です。VS2003とSQL Server Management Studio Expressを使用してデータベースを扱うプログラムを学んでいますが、datasetの破棄タイミングが分かりません。破棄するためのコードを書かない場合、datasetはどのようなタイミングで破棄されるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>やっぱりタイミングはプログラムで書かない限りわからないものなんですね いえ。プログラムで書けないから、わからないものなのです。 どんなにがんばってもわかりません。 >プログラムの終了は「もう使われていないな」という判断にはならないのでしょうか? もちろん、なります。 アプリケーションの終了は、全てのアプリケーション固有のリソースを開放します。 共有リソースを定義した場合は、その部分は開放されません。 (例えば、C言語でmarshalでアロケーションした場合とかは開放されない)
その他の回答 (1)
- PED02744
- ベストアンサー率40% (157/390)
回答No.1
正直「誰にもわからない」が答えだと思いますが、、 .NETの仮想マシン(CLRかな)が、『「もう使われていないな」と判断したとき』に破棄されます。 明示的に本当の意味で破棄することはできませんが、 アプリから見た破棄は、dataset.disposeを実行したタイミングで、破棄といってよいのではないでしょうか。
質問者
お礼
回答ありがとうございます。 >正直「誰にもわからない」が答えだと思いますが、、 やっぱりタイミングはプログラムで書かない限りわからないものなんですね。 質問が若干変わってしまいますが、 プログラムの終了は「もう使われていないな」という判断にはならないのでしょうか? なることもあるし、ならないこともある。 などの曖昧な答えでもよいのでお手数ですが回答をお願いします。 回答本当にありがとうございました。
お礼
お礼が遅くなり申し訳ありません。 回答ありがとうございます。 VSを使って開発中と書きましたが、VSを再起動させて試したところ SQLサーバが稼働していなくてもプログラムが正常に動いたため(デバッグモード) ?となってしまいました。 PC自体を再起動させると当然SQLサーバに接続しないと動かないのですが; VSの終了とプログラムの終了はデバッグモードであっても関係ないのでしょうか? 何度も質問してしまい申し訳ありません。