Visual Studio を使用したデータ アプリケーションの作成
更新 : 2007 年 11 月
Visual Studio には、データにアクセスするアプリケーションの作成プロセスで役立つ多くのデザイン時ツールが用意されています。ここでは、データを操作するアプリケーションの作成に関する基本的なプロセスの概要について説明します。この説明はデータ アプリケーションの作成に関連する多くの他のヘルプ トピックにリンクするための情報源となることを目的としており、詳細説明の多くは省略しています。
Visual Studio でデータにアクセスするアプリケーションを開発するにしたがって、さまざまな要件が発生します。場合によっては、データをフォームに表示するだけで十分です。また、他のアプリケーションまたはプロセスと情報を共有できるしくみが必要な場合もあります。
Visual Studio でアプリケーションを作成する際に使用する基本的なデータ アーキテクチャは ADO.NET です。データに対する操作の種類に関係なく、理解しておく必要のある一定の基本的な概念があります。多くの場合、データ処理に関する一部の詳細事項については知る必要はありません (たとえば、プログラムでデータベースを作成する必要はありません)。しかし、ADO.NET の基本的な概念や、Visual Studio で利用できるデータ ツール (ウィザードとデザイナ) について理解しておくと非常に役立ちます。
アプリケーション内でデータを操作する作業は、いくつかのトップレベルのプロセスに分けることができます。たとえば、ユーザーのフォームにデータを表示する前に、まずデータ ソース (場合によりデータベースまたはデータを提供するサービス) に接続し、次に、表示するデータをフェッチする必要があります。このデータをアプリケーションに読み込んだ後は、DataSet オブジェクトや LINQ to SQL オブジェクトなどへのデータの一時的な格納が必要になる場合があります。
一般的なデータ アプリケーションは、次の図に示すようなプロセスの大部分を利用します。
データ サイクル
アプリケーションを作成するときは、実行する必要のあるタスクについて検討する必要があります。次の各セクションは、利用できる Visual Studio ツールと .NET Framework オブジェクトを見つけるのに役立ちます。
メモ : |
---|
この図に示したプロセスのいくつかには、作業を簡略化するためのウィザードが用意されていることに注意してください。たとえば、データ ソース構成ウィザードを実行すると、データに接続するのに十分な情報をアプリケーションに提供し、データを受け取るための型指定されたデータセットを作成して、アプリケーションにデータを読み込むことができます。 |
Visual Studio を利用してデータ アプリケーションを開発する方法については、「チュートリアル : 単純なデータ アプリケーションの作成」を参照してください。
データへの接続
アプリケーションにデータを読み込んで変更内容をデータ ソースに返送するには、なんらかの双方向通信を確立する必要があります。一般にこの双方向通信は、データセットを使用するアプリケーションでの TableAdapter の接続、または LINQ to SQL を使用するアプリケーションの DataContext によって処理されます。Visual Studio には、アプリケーションで使用できる接続の作成を支援するいくつかのツールが用意されています。アプリケーションをデータに接続する方法の詳細については、「Visual Studio でのデータへの接続」を参照してください。
データセットを使用して、アプリケーションをデータベースのデータに接続する方法については、「チュートリアル : データベース内のデータへの接続」を参照してください。
アプリケーションでデータを受け取るための準備
アプリケーションで非接続型データ モデルを使用する場合、データを操作するときにアプリケーションにデータを一時的に格納する必要があります。Visual Studio には、アプリケーションがデータの一時的な格納に使用するオブジェクトを作成するのに役立つツールが用意されています (データセットおよび LINQ to SQL オブジェクト)。
メモ : |
---|
一般に、非接続型データ モデルを使用するアプリケーションは、データベースに接続し、クエリを実行してアプリケーションにデータを読み込み、データベースから切断し、オフラインでデータを処理した後に再接続してデータベースを更新します。 |
アプリケーションで型指定されたデータセットを作成する方法の詳細については、「アプリケーションでデータを受け取る準備」を参照してください。n 層アプリケーションでデータセットを使用する方法の詳細については、「方法 : データセットと TableAdapters を別々のプロジェクトに分離する」を参照してください。
データセットを作成する方法については、「チュートリアル : データセット デザイナでのデータセットの作成」を参照してください。
LINQ to SQL オブジェクトを作成する方法については、「チュートリアル : LINQ to SQL クラスの作成 (O/R デザイナ)」を参照してください。
アプリケーションへのデータのフェッチ
アプリケーションで非接続型データ モデルを使用するかどうかにかかわらず、アプリケーションにデータをフェッチできる必要があります。データベースに対してクエリまたはストアド プロシージャを実行することにより、アプリケーションにデータを読み込みます。データをデータセットに格納するアプリケーションは TableAdapter を使用してクエリとストアド プロシージャを実行するのに対して、データを LINQ to SQL オブジェクトに格納するアプリケーションは LINQ to SQL クエリ を使用してクエリを実行し、DataContext メソッド (O/R デザイナ) を実行してストアド プロシージャを実行します。TableAdapter を使用するクエリを作成および編集する方法の詳細については、「方法 : TableAdapter クエリを作成する」および「方法 : TableAdapter クエリを編集する」を参照してください。
データセットと LINQ to SQL オブジェクトにデータを読み込む方法、およびクエリとストアド プロシージャを実行する方法の詳細については、「アプリケーションへのデータのフェッチ」を参照してください。
データセットにデータを読み込む方法については、「チュートリアル : Windows アプリケーションのフォームでのデータの表示」を参照し、フォーム読み込みイベント ハンドラのコードを確認してください。
LINQ to SQL オブジェクトにデータを読み込む方法については、「チュートリアル : LINQ to SQL クラスの作成 (O/R デザイナ)」を参照してください。
SQL クエリの作成と実行の方法については、「方法 : 行を返す SQL ステートメントを作成および実行する」を参照してください。
ストアド プロシージャを実行する方法については、「方法 : 行を返すストアド プロシージャを実行する」を参照してください。
Windows アプリケーションのフォーム上のデータ表示
通常はアプリケーションにデータを読み込んだ後で、ユーザーが参照したり、変更したりするためにフォーム上にデータを表示します。Visual Studio には、項目をフォームにドラッグするとデータを表示するデータ バインド コントロールが自動的に作成される、[データ ソース] ウィンドウ が用意されています。データのバインドとユーザーへのデータ表示の詳細については、「Windows アプリケーションのフォームでのデータの表示」を参照してください。
Windows フォームでユーザーにデータを表示する方法については、「チュートリアル : Windows アプリケーションのフォームでのデータの表示」を参照してください。特に、[データ ソース] ウィンドウから項目をドラッグするプロセスに注意してください。
アプリケーションでのデータ編集
データがユーザーに表示されると、ユーザーは新しいレコードを追加したり、レコードの編集や削除を行ってそのデータを変更してから、データベースにデータを返送する場合があります。これらの変更は、データセットのテーブルを構成する個別の DataRow オブジェクトに対して実行されます。データセットに読み込まれたデータの操作の詳細については、「アプリケーションでのデータ編集」を参照してください。
メモ : |
---|
[データ ソース] ウィンドウから項目をドラッグしてフォームを作成すると、データに対する変更の多くがデータ バインド コントロールで自動的に処理されます。コントロールで値を編集すると、新しい値がデータセットに自動的に書き込まれます。BindingNavigator コントロールの [新規追加] ボタンをクリックするとレコードが追加され、[削除] ボタンをクリックするとレコードが削除されます。 |
データセットに新しいレコードを追加する方法については、「方法 : DataTable に行を追加する」を参照してください。
データセット内の既存のレコードを編集する方法については、「方法 : DataTable の行を編集する」を参照してください。
データセットからレコードを削除する方法については、「方法 : DataTable の行を削除する」を参照してください。
データの検証
データを変更する場合、通常は変更内容を検証してからデータセットに値を戻したりデータベースに書き込むことができるようにします。検証は、これらの新しい値がアプリケーションの要件を満たすことを検査するプロセスの名前です。値を変更するときにアプリケーションで値を検査するロジックを追加できます。Visual Studio には、列および行の変更時にデータを検証するコードを追加するためのツールが用意されています。詳細については、「データの検証」を参照してください。
アプリケーションにデータの検証を追加する方法については、「チュートリアル : データセットへの検証の追加」を参照してください。
n 層アプリケーションに分離されたデータセットに検証を追加する方法については、「方法 : n 層データセットに検証を追加する」を参照してください。
データの保存
アプリケーションで変更を行って変更内容を検証した後、通常は変更内容をデータベースに返送します。データをデータセットに格納するアプリケーションは、通常 TableAdapterManager を使用してデータを保存します。詳細については、「TableAdapterManager の概要」を参照してください。データを LINQ to SQL オブジェクトに格納するアプリケーションは、SubmitChanges メソッドを使用してデータを保存します。
更新されたデータをデータベースに返送する方法の詳細については、「データの保存」を参照してください。
更新済みのデータをデータセットからデータベースに返送する方法については、「チュートリアル : 関連するデータ テーブルからのデータの保存 (階層更新)」を参照してください。