それではVB 2005でデータセットを使ってみましょう。
前回でプロジェクトにSQLデータベースを新規追加すると、DBファイルである「.mdfファイル」と同時に「.xsdファイル」が自動的に追加されました。例えばDBファイルの名前を「MyDB.mdf」とした場合には、.xsdファイルのファイル名は「MyDBDataSet.xsd」となります。この.xsdファイルがデータセット(もう少し正確にはデータセットの定義)です。
.xsdファイルがプロジェクト内に含まれていない場合には、プロジェクトに新しい項目として[データセット]を追加します。これにより.xsdファイルがプロジェクト内に作成されます。
さて、ソリューション・エクスプローラでデータセットをダブルクリックするとグレーの「データセット・デザイナ」が表示されます。これはデータセットの内容を編集するためのものです。
続いては、ここにデータテーブルを追加していきます。
データセット・デザイナには、データベース・エクスプローラからテーブルをドラッグ&ドロップしたり、ツールボックスからデータテーブルなどのコンポーネントをドラッグ&ドロップできます。
実際のテーブルと同じ構造を持つデータテーブルを手っ取り早く作成するには、データベース・エクスプローラからテーブルをデータセット・デザイナ上にドラッグ&ドロップします。これによりデータベースからテーブルのスキーマ情報が取得され、データセット内にデータテーブルが作成されます。
ここで作成するデータテーブルは、実際のテーブルの構造とまったく同じである必要はなく、データテーブルに独自に列を追加したり、プログラムで参照しないような不要な列を削除したりできます(が、話が複雑になりますので当面はデータテーブルの編集は行わずにそのまま使用します)。
なお、図5では、データテーブルである「MyTable」の下に「MyTableTableAdapter」というボックスがくっついていますが、これは次回で解説予定の「テーブルアダプタ(TableAdapter)」です。このテーブルアダプタがテーブルからレコードを取得して、それをデータテーブルに格納をする役目を果たすのですが、今回のところは取りあえず無視してください。
前回ではテーブルを1つしか作成しませんでしたが、データベースに複数のテーブルがある場合には、次の画面のように複数のデータテーブルを作成できます。テーブル間にリレーションが設定されている場合には、データテーブル間にも自動的にリレーションが設定されるようになっています。
例えば親子(マスター/詳細)関係のテーブルの内容を、2つのグリッドで連動させて表示するような場合には、リレーションが設定された2つのデータテーブルが必要になります。
以上でデータテーブルを含むデータセットが作成できました。なお、ここで行ったことは、プログラムで使用するデータセットの構造の定義(デザイン)だけです。実際にこのデータセットをプログラムで使用する場合には、このデータセットの定義を基に、データセット・オブジェクトの作成が必要になります(VB 2005のIDEを使えば、それを行うコードは自動生成されます)。
Copyright© Digital Advantage Corp. All Rights Reserved.