ado.netはマイクロソフトのデータアクセス技術です。
データ接続やコマンドをクラスとして提供しています。
データベースは接続しないといけません。
接続にはコネクションを使います。
データベースの種類によってオブジェクト(クラス)を使い分けます。
種類は4つあります。
Oracle
OracleConnection
OracleAdapter
OracleCommand
OracleDataReader
Sqlserver
SqlConnection
SqlAdapter
SqlCommand
SqlDataReader
Ole db
OledbConnection
OledbAdapter
OledbCommand
OleDataReader
ODBc
OracleConnection
OracleAdapter
OracleCommand
OracleDataReader
それぞれにコネクション、アダプタ、コマンドがあります。
データベースのやり取りには二つ方法があります。
DataReaderとAdapterです。
まずAdapterから説明します。
Adapterはデータセットと橋渡しするためにあります。
データセットはクライアントのメモリを使用してデータをためておけます。
データセットは接続型ではないのでAdapterに橋渡ししてもらいます。
データセットはオブジェクトなのでツリー構造になってます。
データテーブルやデータロー等。
データセットとデータベースは二つデータが存在すると考えてください。
Adapterのfillメソッドでデータベースから指定したデータセットにデータを読み込みます。
Adapterにはコマンドプロパティがあります。
SelectCommand 選択
UpdateCommand 更新
insertCommand 追加
DeleteCommand 削除
データセットの内容は更新をしないとデータベースに反映されません。
Adapterのコマンドプロパティは設定するのがメンドクサイです。
CommandオブジェクトのCommandTextにsqlを設定しましょう。
設定したsqlはCommand.ExecuteNonQueryメソッドで実行されます。
この場合、直接sql文が実行されます。
DataReaderの説明をします。
DataReaderはコマンドを読み取ります。
DataReaderは一方通行なので後ろには戻れませんが高速です。
DataReaderは一行ずつ読み取ります。
今回は概念だけ説明してみました。
DataReaderとAdapterは上手に使い分けましょう。
データセットはクライアントにメモリを確保されるので注意して下さい。