ADO.net
ADO.netでは、従来のADOと違い新しいアーキテクチャでのデータアクセスが採用されている。
データソースとの接続に使用されるデータプロバイダ、非接続時でのデータアクセスを可能にするデータセットが用意されている。
データプロバイダにて接続型データアクセスを可能にし、必要に応じ、続されたデータソースからデータセットを作成(Fill - 充填)し、非接続のアクセスを可能にするというイメージとなる。
接続型データアクセス
1.Connectionオブジェクトにて、データソースとの接続を確立
2.Commandオブジェクトにてテーブルデータの取得、SQLステートメントの実行、プロシージャの呼び出しをおこなう。
3.DataReaderオブジェクトにて結果セットからデータを取得する(結果セットの取得は順方向のみ可能)※この仕様によりパフォーマンスを上げることが可能になる。
4.必要に応じTransactionオブジェクトにてトランザクション制御をおこなう。
非接続型データアクセス
※1?2:接続型データアクセスと同様(データソースから結果セットを取得)
1.Connectionオブジェクトにて、データソースとの接続を確立
2.Commandオブジェクトにてテーブルデータの取得、SQLステートメントの実行、プロシージャの呼び出しをおこなう。
3.非接続アクセスをおこなうため、DataAdapterオブジェクトを作成する。
4.DataAdapterオブジェクトにてデータソースから取得した結果セットを、非接続操作が可能な、Datasetオブジェクトに格納(充填)する。※DataAdapter.Fillメソッドを使用する。
5.非接続にてデータの操作をした後、DataAdapter.Updateメソッドにて更新された情報をデータソースへ反映させることが可能。
データアクセス
データアクセスは上記のとおり各オブジェクトを用いておこなうが、データソース(データベース)の種類に応じ各オブジェクトを使い分ける。※プログラミングモデルは共通のため同じコーディング方法にてデータアクセスが可能。
SqlConnection ... SQLServer用
OleDbConnection ... OLE DB(Access等)用
OracleConnection ... Oracle用
OdbcConnection ... ODBCデータソース用
同様に、xxxCommand、xxxDataAdapter、xxxTransactionオブジェクトを使い分ける。
コメントする