QA@IT

VB.net 2012 + ODP.net でのデータ取得、更新の主流

2831 PV

お世話になります。
当方、VB.net 2012 + ODP.net で開発を行う事になりました。
Oracleに関しては専門としているのですが、VBには詳しくありません…。

各種本を読んだのですが、TableAdapterを使用したものだったり、単一テーブルの更新なのでポトペタで完了していたりして、ODP.netでの主流が見付からず手こずっております。


【前提条件】
LINQ、Entity Frameworkは使用しません。型付データセットを使用します。
型付データセットに呼び出すデータは、クエリにて取得。件数は数十~数百件程度。
画面の入力値を検索条件にして、バインド変数を使用するか、又はクエリのWHERE句を動的に変更して取得します。
データ取得をビュー、ストアドにはしない方針です


【自分の手順】
ツールボックスより「OracleDataAdapter」をポトペトしてクエリを記載し、データアダプターを作成。
データアダプターを右クリックして「データセットの生成」を選択して、データセットを作成。
フォームにポトペトしておいたDataGridViewのDataSourceに上記データセットを、DataMemberに上記データセット内のテーブル名を設定。
コードにて、バインド変数をセットしたり、OracleCommandをセットしてクエリを動的にしたりして、
OracleDataAdapter1.Fill(TestDataSet)
にて取得しています。


  • 質問1
     ODP.netでの型付データセットの使用は、上記の流れで問題ないでしょうか。

  • 質問2
     上記の流れとした場合、DataAdapterとDataSetとOracleConnectionが1個ずつ作成されます。
     画面にグリッドが4つある(それぞれ別のクエリ)場合、DataAdapter4個、DataSet4個になるのですが、そういうものなのでしょうか。OracleConnectionは1つを共通使用するように出来ました。

  • 質問3
     更新についてはグリッドを1行目から最終行までループで回してDataRowStateによって、UPDATE、INSERT、DELETEをコード上に記載する予定ですが、これが主流でしょうか。OracleDataAdapterのUpdateCommandなどに設定してメソッド発行する手段も使えるのでしょうか。

  • 質問4
     TableAdapterはODP.netでは使用できないですよね?

長文失礼致しました。
ODP.netでのデータ取得、更新についてご教示いただけますでしょうか。

ウォッチ

この質問への回答やコメントをメールでお知らせします。