- PR -

[VB.NET]ADO.NETのコネクションとデータアダプタの関係について

投稿者投稿内容
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-08-23 18:30
>えムナウさん
>Jittaさん

ご返答ありがとうございます。

絶対DataAdapterを使う、という意識があったもので、お二人のアドバイスは
目からウロコでした。

アドバイスを元に処理を考えてみたいと思います。

いつもいつもありがとうございます。
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-23 19:26
>バッチ処理の場合はデータを表示する必要が無いのでしょうから、
>#DataSetの使い道は、表示だけではないですよ
そうですね、後で利用する必要が無いと書くほうがよかったですね。

#突っ込みいれられたのでこちらもお返しに(笑
>読み込んだデータをDataTableに入れる
後で利用する必要が無いならDataTableに入れる必要さえも無いんです。
Commandでパラメータ使って直接Insert/Update/Deleteかければいいんです。

_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-23 21:02
引用:

えムナウさんの書き込み (2004-08-23 19:26) より:

後で利用する必要が無いならDataTableに入れる必要さえも無いんです。
Commandでパラメータ使って直接Insert/Update/Deleteかければいいんです。


 1つのコネクションで、を考えていましたので。
>>その際に一つのコネクションと多数のデータアダプタを使用しています。

 複数のコネクションを開くと、1つで読み込みながら、INSERT/UPDATE/DELETEを行うDataCommandを作れば、DataTableを使う必要はありません。また、ループも1回で済みます。

 そして、2004-08-23 16:04のとおり、ストアドプロシージャにしてしまえば、プログラム−データベースのラウンドトリップは1回で済みますから、最速を期待できます。ただし、ストアドプロシージャの処理が長時間かかるようだと、別の問題が発生する可能性があります。

スキルアップ/キャリアアップ(JOB@IT)