投稿者 るきお  (社会人) 投稿日時 2012/6/14 20:37:00
>DBアクセスごとに、DBの接続~解除をするのがセオリーなのでしょうか?
はい、そうです。

データベースとの接続をできるだけ短い時間ですませて同時実行性を上げる狙いです。
いちいちOpen、Closeを記述するのは面倒なのでDataAdapterのFillメソッドのようにそれを自動でやってくれるものもあります。

VB6のときADOのRecordSetでMoveNextやMoveFirstしながら行移動するような処理は、
VB2010ではSqlDataAdapter.Fillで取得したDataTableまたはDataSetに対して行うイメージになります。
DataTableまたはDataSetは一度クライアント側にデータをすべて持ってくるので接続を閉じた状態でも操作可能です。(ADOにもそのような切断状態で操作できるレコードセットもありましたが)
ただし、クライアント側にデータをすべて持ってくるので、巨大なテーブルを操作するような仕様がある場合、仕様を変更したほうが良いかもしれません。