|
分類:[C#]
開発環境:.NET2008 C#
ADO.NETについて、質問があります。 よろしくお願いします。
よく簡単なサンプルなどを拝見すると下記のような手順が多いと思います。 1.Connection接続 2.Adapterを使用し、DataTableにSet 3.DataTableを編集 4.CommandBuilderで、Adapter.Updateを実行し、DBに反映 5.Connection切断及び、各オブジェクト破棄
ここで疑問と自分の見解です。
【疑問】 すべてアクション(DB更新や、削除など)に、Connection接続・切断を行うと パフォーマンスに影響あるのではないでしょうか? 【見解】 Connectionは、全体で1個保持し、すべてのアクションにて共通で使用します。 APP終了時に、切断し破棄します。
【疑問】 起動時に、Selectコマンドを設定したAdapterを使用し、すべてのテーブルからDataTableにSetしています。 その後は、そのDataTableを使用し、DB更新を行っています。
まず、Adapter+CommandBuilderにおいて、更新・削除をするのには、Selectコマンドを設定する必要があると思います。 更新・削除するのに、わざわざSelectコマンドを設定する必要があるのでしょうか? 起動時に使用したAdapterを使用できないものでしょうか? 【見解】 起動時に使用したAdapterを、テーブル数分、クラスにて保持しておき、 更新・削除する場合、このAdapterを使用する。
以上、この考え方は間違っていますでしょうか?
|