Windows アプリケーションでDBのデータを表示しよう(VS2005 TableAdapter 編)

VS2003 DataAdapter 編 につづいて、VS2005 の TableAdapter を使って、DataBase へのアクセスします。
こちらで最終的に実現したい事は、VS2003 DataAdapter 編とほぼ同じです。
※解説に用いた Visual Studio 2005 の Edition は、Team System Edition です。
サンプルのダウンロード

このカテゴリーの先頭へ このページの先頭へ

■プロジェクトの作成

プロジェクトの作成についてはWindows アプリケーションを作ってみようと 全く同じなのでここでは割愛します。
※今回は、プロジェクト名を MyWinDBApp02 としました。

このカテゴリーの先頭へ このページの先頭へ

■データ接続の作成

サーバー エクスプローラ(表示されていない場合は、メニューバーの[表示]→[サーバー エクスプローラ]をクリックして表示させてくださいね)の
[データ接続]を右クリックします。コンテキストメニューより、[接続の追加]を選択します。
接続の追加

[データ ソースの選択]画面が出てきます。
※[接続の追加]画面が出てきた場合、[変更]ボタンを押下することで表示できます。
データ ソースの選択
ここでは、SQL Server 2000 のデータベースにつなげようとしているので、
データ ソース 及び データ プロバイダも SQL Server なんやらかんやらを選択して、[OK]を押下します。

[接続の追加]画面が出てきます。
データ リンク プロパティ
接続に必要な情報を入力します。(↑の例では、ローカルマシン上の SQL Server 2000 の NorthWind データベースに Windows 認証で接続しようとしています)
入力し終わったら、[接続の確認]ボタンを押下します。

接続確認成功
上記メッセージが出たら、入力した情報が正しいということです。反対に上記以外のメッセージが出た場合、入力した情報に誤りがある可能性があります。
[接続の確認]が終わったら、[OK]ボタンを押下します。サーバー エクスプローラ には 追加した接続が表示されます。

このカテゴリーの先頭へ このページの先頭へ

■プロジェクトデータソースの作成

メニューバーの[データ]→[新しいデータ ソースの追加]を選択します。
新しいデータソースの追加

[データ ソース構成ウィザード]が始まります。
データ 取得元の選択
ここでは、SQL Server 2000 のデータベースからデータを取得しようとしているので、
データベース を選択した状態で、[OK]ボタンを押下します。

[データ 接続の選択]画面が出てきます。
データ接続の選択
※ 多分、データ接続の作成で作成した接続の情報が表示されているはずですが、もし無いまたは、間違っている場合は
[新しい接続]ボタンを押下して、新しい接続を作成します。その手順は■データ接続の作成の接続の追加画面
が出てきた時以降の操作とほとんど変わりません。

[接続文字列をアプリケーション構成ファイルに保存する]画面が出てきます。
接続文字列
特に理由が無ければ、保存しておきましょう。上記画面の例ですと、プログラム内で、
My.Settings.NorthwindConnectionString
で参照が可能になります。

[データベース オブジェクトの選択]画面が出てきます。
データベース オブジェクトの選択
ツリーを [+] ボタン で展開すると子オブジェクトが存在すれば以下のような感じになります。
データベース オブジェクトの選択
ここでは、テーブル Customers のみが必要なので、Customers の横にチェックを入れて、[完了]ボタンを押下しました。
[完了]ボタンを押下すると、ウィザードは終了します。

ウィザードが完了した後に、ソリューション エクスプローラを見てみましょう。
ソリューション エクスプローラ
DataSet が出来ています。
余力があれば、すぐ上の図の赤で囲った部分をクリックしてみましょう。
XXDataSet.xsd の配下に、自動生成されているコードが沢山現れるはずです。

このカテゴリーの先頭へ このページの先頭へ

■コントロールの配置

ソリューション エクスプローラ にある Form1 に、コントロールを配置します。
データソース(表示されていない場合は、メニューバーの[データ]→[データソースの表示]をクリックして表示させてくださいね)を見てみましょう。
データソース
画像の例でいうと、CustomersDataSet の中に入っている、Customers (DataTable) と、その項目が、だだだーっと表示されています。
Customers (DataTable)を選択して、Form1 へドラッグします。

DataGridView配置後
なんだか、Form1 上に一気にコントロールが増えましたが、とりあえず、ここではあまり気にしなくてもいいです。
DataGridView コントロールの右上端にある、三角のボタンをクリックすると、
[DataGridView タスク]というものがびろーっと出てきます。
そのタスクの中で、[親コンテナにドッキングする]をクリックすると、以下のようなレイアウトに変わります。
DataGridView Dock 後
まぁ。これは、DataGridView の Dock プロパティを Fill にしてくれているだけです。
あんま大した事ありません。

このカテゴリーの先頭へ このページの先頭へ

■実行しよう!

全然コード書いていませんが、心配ありません。きっと大丈夫!
メニューバーの[デバッグ]→[デバッグ実行]をクリックして実行します。
↓こんな画面が出現しましたか?
実行画面〜
自分ではコードは全然書いてませんが、実は裏で、コードが数行吐き出されています。
興味ある方は、Form1 のコードを表示して、見てみて下さい。

このカテゴリーの先頭へ このページの先頭へ

■参考資料

新グリッド・コントロールの豊富な機能と高い表現力