関連データの表示

更新 : 2007 年 11 月

このレッスンでは、2 つの別々のテーブル内にある関連データを Windows フォームに表示する方法について説明します。

これまでの 4 つのレッスンでは、データベースを作成してそのデータを変更および表示する方法について説明しました。Visual Basic Express Edition と共に SQL Server Compact 3.5 をインストールすると、いくつかのテーブルを持つ Northwind.sdf というサンプル データベースにアクセスできます。

前提条件

Visual Basic Express Edition を使用して SQL Server Compact 3.5 データベースを作成してアクセスするには、まず SQL Server Compact 3.5 をインストールする必要があります。Visual Basic Express Edition のインストール時にインストールしなかった場合は、レッスンを続行する前にインストールしてください。詳細については、「SQL Server Compact 3.5 (Visual Studio) の使用」を参照してください。

やってみよう

Northwind データベースに接続するには

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスで、[テンプレート] ペインの [Windows フォーム アプリケーション] をクリックし、[OK] をクリックします。

    新しい Windows フォーム プロジェクトが開きます。

  3. [データ] メニューの [データ ソースの表示] をクリックします。

    [データ ソース] ウィンドウが開きます。

  4. [データ ソース] ウィンドウで、[新しいデータ ソースの追加] をクリックします。

    データ ソース構成ウィザードが開きます。

  5. [データベース] をクリックし、[次へ] をクリックします。

  6. [新しい接続] をクリックします。

    [接続の追加] ダイアログ ボックスが表示されます。

  7. [接続の追加] ダイアログ ボックスで、[データ ソース] が [Microsoft SQL Server Compact 3.5 (.NET Framework Data Provider for Microsoft SQL Server Compact 3.5)] になっているかどうかを確認します。なっていない場合は、[変更] をクリックし、[データ ソースの変更] ダイアログ ボックスで [Microsoft SQL Server Compact 3.5] を選択して、[OK] をクリックします。

  8. [接続の追加] ダイアログ ボックスで、[参照] をクリックし、SQL Server Compact 3.5 をインストールしたドライブの Program Files\Microsoft SQL Server Compact Edition\v 3.5\Samples にある Northwind.sdf データベースを見つけます。

  9. [OK] をクリックしてダイアログ ボックスを閉じ、データ ソース構成ウィザードで [次へ] をクリックします。データ ファイルをプロジェクトにコピーするかどうか確認するメッセージが表示されたら、[はい] をクリックします。

  10. ウィザードの次のページで、[次の名前で接続を保存する] チェック ボックスをオンにします。[次へ] をクリックして続行します。

  11. [データベース オブジェクトの選択] ページで、[テーブル] ノードを展開し、Order Details テーブルと Products テーブルの各チェック ボックスをオンにします。

  12. [完了] をクリックします。

    ローカル データベース ファイルがプロジェクトに追加されます。また、[データ ソース] ウィンドウに NorthwindDataSet オブジェクトが表示されていることを確認します。

  13. ソリューション エクスプローラで Northwind.sdf ノードを選択し、その [出力ディレクトリにコピー] プロパティを [新しい場合はコピーする] に設定します。

  14. [ファイル] メニューの [すべてを保存] をクリックして、プロジェクトを保存します。

関連データの表示

2 つのテーブルに関連データがある場合は、[データ ソース] ウィンドウでリレーションシップを確認できます。たとえば、Products テーブルを展開すると、Order Details テーブルが Products テーブルの一部として表示されます。この Order Details テーブルまたはそのフィールドの 1 つを Windows フォームにドラッグすると、テーブルまたはフィールドと Products テーブル間のリレーションシップをフォームに表示できます。たとえば、Products テーブル内の製品間を移動して、各製品に対応する注文情報を表示できます。

やってみよう

関連データを表示するには

  1. ソリューション エクスプローラで、Form1 を右クリックし、[デザイナの表示] をクリックします。

  2. ソリューション エクスプローラの [データ ソース] タブをクリックします。

  3. Products テーブルを展開し、Product Name を選択します。次に、Product Name の横のドロップダウン矢印をクリックし、[Label] をクリックします。

  4. ProductName フィールドを Windows フォームにドラッグします。

  5. Order Details テーブル (Products テーブル内のもの) をフォームにドラッグし、ラベルの下に配置します。

    DataGridView コントロールがフォームに追加されます。

  6. F5 キーを押してプログラムを実行します。

  7. アプリケーションが起動したら、フォームの上部にあるツール バーの [次に移動] ボタンをクリックします。

  8. 製品を変更するたびに、DataGridView コントロールの注文詳細情報が更新されることを確認します。

次の手順

このレッスンでは、関連データを参照するデータ バインド コントロールを Windows フォームに追加する方法について説明しました。次のレッスンでは、O/R デザイナについて説明します。

次のレッスン : 「LINQ to SQL クラスの作成 : O/R デザイナの使用

参照

処理手順

データの格納とアクセス

初めてのデータベースの作成

必要な情報の入手 : 既存のデータベースに接続する

ユーザーへの情報表示 : ユーザー インターフェイスにデータを表示する

レコードの追加または変更 : データを更新する

その他の技術情報

レコードの管理 : プログラムでデータを使用する

Visual Basic ガイド ツアー