ウィリアムのいたずらは、Visual Studio 2003を使っています。
で、Visual Studio 2003のC#だと、以下の手順で、データベースアクセスします。
(1)サーバーエクスプローラー(ツールボックスと同じウィンドウにあるタブ)
のタブをクリックし、サーバーを追加します。
Accessの場合、プロバイダにJETを選ぶと「次」の画面でファイルを選択
できます。
(2)ツールボックスの「データ」の中にある、oleDbDataAdapterを選択し、
フォームにドロップし、
上記(1)のデータ接続を選択して、SQLをテキトーに作ります。
(3)そーすると、((2)のアダプタを選択していれば)
プロパティの下のほうかな?に、
「データセットの生成…」っていうのがあるので、それを選択して、
テキトーに設定すると、データセットが出来る。
(4)「ツールボックス」の「Windowsフォーム」から、「DataGrid」とか、
「Combobox」とか、好きなのを選んで、DataSourceに(3)を設定
(Comboboxは、DisplayMemberも選ぶ)
(5)ソースコードのテキトーなところに(フォームを生成したところとか、
ボタンを押されたときとかに
アダプタ.Fill(データセット)
をいれる。
たとえば、(2)のアダプタがoleDbDataAdapter1で、
(3)のデータセットがdataSet11なら、こんなかんじ。
oleDbDataAdapter1.Fill(dataSet11);
これで、実行すると、(4)に、データが入って実行できる。
この場合、アダプタをつくると、コネクションもできる。したがって、
JDBCとの対応が説明しやすい。
JDBCの場合、
(あ)Class.forNameで、ドライバを読み込む
(い)DriverManager.getConnectionで、コネクションを作成する
(う)コネクションのcreateStatementで、ステートメントを作成し、
(え)SQLを適当に入れる
(お)検索の場合、ステートメントのexecuteQueryで、SQLを実行、
結果をレコードセットに入れる
(か)レコードセットからテキトーにデータを取り出す。
というふうになっていく。
これを、上記のC#のアクセスに対応させると、
(あ)のドライバ読み込みは、C#の
(1)のドライバでJETを選んだところに相当し、
(い)のコネクションは、C#の
(2)でAdapterを作成したときに出来た、コネクションに相当し、
(う)で作ったステートメントが、Adapterに相当。
(え)のSQL設定が、AdapterでSQLを設定するところに相当。
(お)のSQLの実行は、(5)のアダプタ.Fill(データセット)に
相当します。
なので、(3)のデータセットが、JDBCのレコードセット相当とすると、
(か)で、データをセットしているけど、それは、(4)でDataSourceを
指定しているので、自動的にできます。
ということで、説明は簡単簡単。
と、余裕ぶっこいていたら・・・
うん、うん。。。
2005から、なんか、自動的にやってくれて、AdapterとかConnectionとか、
いらないの?
(って、書いてある本発見&この本、テキストにして説明しようと思ったんだけど・・)
あれ、でも、昨日、2008のVWDみたら、Adapterあったけどなあ。。。
うーん、自動的にやられると、説明がしにくいんだけどなあ(-_-;)
やっぱ、2008のExpress版、落としてきて、確認しないと、だめかなあ。。