Visual Studio を使用して .NET Framework でデータセットを作成および構成する
Note
データセットと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初期からのレガシ .NET Framework テクノロジです。 テクノロジが特に役立つのは、ユーザーがデータを変更し、変更をデータベースに戻して保持できるようにするアプリケーションです。 データセットは非常に優れたテクノロジであることが証明されていますが、新しい .NET アプリケーションでは Entity Framework Core を使用することをお勧めしています。 Entity Framework には、オブジェクト モデルとして表形式データを操作する、より自然な方法が用意されており、よりシンプルなプログラミング インターフェイスが備わっています。
データセットとは、データベースからのデータをメモリに格納し、データベースに常に接続していなくても、そのデータに対する作成、読み取り、更新、削除 (CRUD) 操作を可能にするための変更追跡をサポートする一連のオブジェクトです。 データセットは、単純な "フォーム オーバー データ" ビジネス アプリケーション向けに設計されています。 新しいアプリケーションの場合は、Entity Framework を使用して、データをメモリに格納し、モデル化することを検討してください。 データセットを操作するには、データベースの概念に関する基本的な知識が必要です。
Visual Studio のデータ ソース構成ウィザードを使用して、型指定された DataSet クラスをデザイン時に作成できます。 プログラムによってデータセットを作成する方法については、データセットの作成 (ADO.NET) に関する記事を参照してください。
前提条件
.NET Framework プロジェクト (.NET Core または .NET 5 以降ではない)
.NET デスクトップ開発とデータの保存と処理のワークロードがインストールされた Visual Studio。 これらをインストールするには、Visual Studio インストーラーを開き、変更する Visual Studio のバージョンの横にある [変更] (または [その他]>[変更] ) を選択します。
SQL Server Express LocalDB。 SQL Server Express LocalDB がない場合は、SQL Server のダウンロード ページからインストールできます。
データ ソース構成ウィザードを使用して新しいデータセットを作成する
Visual Studio で自分のプロジェクトを開き、 [プロジェクト]>[新しいデータ ソースの追加] の順に選択して、データ ソース構成ウィザードを開始します。
接続先となるデータ ソースの種類を選択します。
オプションの一覧から
DataSet
を選択します。データセットのデータ ソースとなる 1 つまたは複数のデータベースを選択します。
接続文字列を app.config に保存するかどうかを選択します。
データセットで表示する、データベースのテーブル (または個々の列)、ストアド プロシージャ、関数、ビューを選択します。
[完了] をクリックします。
データセットは、ソリューション エクスプローラーにノードとして表示されます。
ソリューション エクスプローラーでデータセット ノードをクリックして、データセット デザイナーでデータセットを開きます。 データセット内の各テーブルには、
TableAdapter
オブジェクトが関連付けられています。これは下部に表示されます。 テーブル アダプターは、データセットを設定し、必要に応じて、データベースにコマンドを送信するために使用されます。テーブルを関連付けるリレーションシップ線は、データベースで定義されているテーブル リレーションシップを表します。 既定では、データベースの外部キー制約はリレーションシップとしてのみ表され、更新と削除のルールはなしに設定されています。 通常はこれが求められています。 ただし、線をクリックして [リレーションシップ] ダイアログを表示し、階層更新の動作を変更することもできます。 詳細については、データセットのリレーションシップに関する記事および「階層更新」を参照してください。
テーブル、テーブル アダプター、またはテーブルの列名をクリックして、 [プロパティ] ウィンドウにプロパティを表示します。 ここで一部の値を変更できます。 変更するのはソース データベースではなく、データセットであることに注意してください。
[ツールボックス] タブから項目をドラッグして、データセットに新しいテーブルやテーブル アダプターを追加したり、既存のテーブル アダプターの新しいクエリを追加したりできます。また、テーブル間の新しいリレーションシップを指定することもできます。このタブは、データセット デザイナーにフォーカスがあるときに表示されます。
次に、データセットにデータを設定する方法を指定できます。 そのためには、TableAdapter 構成ウィザードを使用します。 詳細については、「TableAdapters を使用してデータセットを入力する」を参照してください。
データベース テーブルまたは他のオブジェクトを既存のデータセットに追加する
この手順では、最初にデータセットを作成するときに使用したのと同じデータベースからテーブルを追加する方法を示します。
ソリューション エクスプローラーでデータセット ノードをクリックして、データセット デザイナーにフォーカスを移します。
Visual Studio の左の余白にある [データ ソース] タブをクリックするか、検索ボックスに「データ ソース」と入力します。
データセット ノードを右クリックし、 [ウィザードでデータ ソースを構成] を選択します。
ウィザードを使用して、データセットに追加するテーブル、ストアド プロシージャ、または他のデータベース オブジェクトを指定します。
スタンドアロンのデータ テーブルをデータセットに追加する
データセット デザイナーでご自分のデータセットを開きます。
[ツールボックス] の [データセット] タブからデータセット デザイナーに、DataTable クラスをドラッグします。
列を追加してデータ テーブルを定義します。 テーブルを右クリックし、 [追加]>[列] の順に選択します。 [プロパティ] ウィンドウを使用して、列のデータ型と、必要に応じてキーを設定します。
スタンドアロンのテーブルでは、データを入力できるように、Fill
ロジックを実装する必要があります。 データ テーブルへの入力については、「DataAdapter からの DataSet の読み込み」を参照してください。