トップ回答者
SqlCommand.Parameters.ClearとSqlConnection.Closeのタイミングについて

質問
-
回答
-
SqlCommand.Parameters.Clearメソッドの実行時にSqlConnectionが開いているか閉じているかは関係ありませんし、SqlCommand.ParametersがClearされていなければSqlConnectionをCloseできないわけでもありません。よって、この両者だけの順序だけに限れば、エラーになることはありません。会社の方はこの順序だけの問題ではなく、再読み込みなどのロジックを含めて気にされているのかもしれません。
ちなみにUsingステートメントを使うことが多いので、SqlConnection.Closeメソッド自体を呼ぶことは少なくなっています。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク retuja666 2010年7月15日 5:44
すべての返信
-
SqlCommand.Parameters.ClearメソッドとSqlConnection.Closeメソッドを呼ぶ順序についてお聞きしたいです。
私は呼ぶ順序は関係がないと考えていたのですが
先日、会社の方に「SqlConnection.Closeを先に呼べばエラーが起きるはず」と言われました。
SqlCommand.Parameters.Clearメソッド
↓
SqlConnection.Closeメソッド
が正しい順番なのでしょうか?
この順番にしてしまうとパラメータ値の処理が終わるまで、コネクションをクローズできないように思います。
コネクションを閉じるのと、SqlParameterCollection を初期化するのは別次元の話なので、私は関係ないと思います。言われた方は何をソースに言われているのですかね。可能なら確認された方がいいと思います。
ひらぽん http://d.hatena.ne.jp/hilapon/ -
SqlCommand.Parameters.Clearメソッドの実行時にSqlConnectionが開いているか閉じているかは関係ありませんし、SqlCommand.ParametersがClearされていなければSqlConnectionをCloseできないわけでもありません。よって、この両者だけの順序だけに限れば、エラーになることはありません。会社の方はこの順序だけの問題ではなく、再読み込みなどのロジックを含めて気にされているのかもしれません。
ちなみにUsingステートメントを使うことが多いので、SqlConnection.Closeメソッド自体を呼ぶことは少なくなっています。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク retuja666 2010年7月15日 5:44