TableAdapter 構成ウィザード
TableAdapter 構成ウィザードを使用して、TableAdapter を作成および編集します。 このウィザードでは、入力した SQL ステートメントまたはデータベース内の既存のストアド プロシージャに基づいて TableAdapter が作成されます。 このウィザードを使用すると、ウィザードに入力した SQL ステートメントに基づいて、データベース内に新しいストアド プロシージャを作成することもできます。
TableAdapter は、データベースに接続し、データベースに対してクエリまたはストアド プロシージャを実行し、クエリまたはストアド プロシージャによって返されたデータを DataTable に格納します。 TableAdapter は既存のデータ テーブルにデータを格納するのに加え、データが格納された新しいデータ テーブルを返すこともできます。 詳細については、「TableAdapter の概要」を参照してください。
ウィザードの実行
ウィザードを実行し、TableAdapter とこれに関連する DataTable を作成または編集します。 詳細については、「方法 :TableAdapter 構成ウィザードを開始する」を参照してください。
データ接続の選択
接続の一覧から既存の接続を選択するか、[新しい接続] をクリックして、データベースへの接続を作成します。
[接続のプロパティ] ダイアログ ボックスへの入力を完了すると、[接続の詳細情報] 領域に、選択したプロバイダーと接続文字列に関する読み取り専用の情報が表示されます。
アプリケーション構成ファイルへの接続文字列の格納
接続文字列をアプリケーション構成ファイルに格納するには、[次の名前で接続を保存する] をオンにします。 接続の名前を入力するか、あらかじめ入力されている既定の名前を使用します。
接続文字列をアプリケーション構成ファイルに保存すると、データベース接続の変更時のアプリケーションの保守プロセスが簡単になります。 データベース接続に変更が加えられた場合は、アプリケーション構成ファイル内の接続文字列を編集できます。 この方法を使うと、ソース コードを編集してアプリケーションを再コンパイルする必要はありません。 アプリケーション構成ファイル内の接続文字列を編集する方法については、「方法: 接続文字列を保存および編集する」を参照してください。
セキュリティに関するメモ |
---|
情報は、アプリケーション構成ファイル内にプレーンテキストとして格納されます。機密情報への未承認アクセスの可能性を減らすために、データを暗号化できます。詳細については、「データの暗号化と復号化」を参照してください。 |
[コマンドの種類を選択します]
データベースに対して実行するコマンドの種類を選択します。
[コマンドの種類を選択します] ページで、データベースからデータをフェッチするメソッドを次から選択します。
[SQL ステートメントを使用する]: このオプションを選択すると、データベースからデータを選択する SQL ステートメントを入力できます。
[新しいストアド プロシージャの作成]: このオプションを選択し、指定した SELECT ステートメントに基づいてウィザードで新しいストアド プロシージャをデータベースに作成します。
[既存のストアド プロシージャを使用]: このオプションを選択し、データベースに既に存在するストアド プロシージャを TableAdapter の SELECT、INSERT、UPDATE、および DELETE の各コマンドに割り当てます。
[SQL ステートメントを使用する]
ここでは、[SQL ステートメントを使用する] オプションを選択した場合に、TableAdapter 構成ウィザードを完了する方法について説明します。
[SQL ステートメントの生成] ページでは、実行するとデータ テーブルにデータが格納される SQL ステートメントを入力します。
[ウィザードの結果] ページに、TableAdapter 作成の結果が表示されます。 ウィザードで問題が発生すると、このページにエラー情報が表示されます。
[生成するメソッドの選択]
このページには、データをフェッチして更新するためにウィザードで生成する TableAdapter のメソッドを選択するオプションが用意されています。
[DataTable にデータを格納する]
データ テーブルにデータを格納する TableAdapter の既定のメソッドを作成します。 このメソッドを呼び出す際には、データ テーブルの名前をパラメーターとして渡します。[メソッド名] ボックスの既定の名前を変更することもできます。
[DataTable を返す]
データが読み込まれたデータ テーブルを返す TableAdapter のメソッドを作成します。 アプリケーションによっては、既存のデータ テーブルにデータを読み込む方法に比べ、データが読み込まれたデータ テーブルを返す方法がより適している場合があります。[メソッド名] ボックスの既定の名前を変更することもできます。
[更新を直接データベースに送信するためのメソッドを作成する]
基になるデータベースに変更内容を書き込むために必要な INSERT、UPDATE、および DELETE の各コマンドを作成します。 このボックスをオンにすることは、GenerateDBDirectMethods プロパティを true に設定することに相当します。注意
元の SQL ステートメントに十分な情報が含まれていないか、クエリが更新可能なクエリではない場合、このオプションは使用できません。たとえば、JOIN クエリや単一の値 (スカラー) を返すクエリで、このような状況が起こります。
[新しいストアド プロシージャの作成]
ここでは、[新しいストアド プロシージャの作成] オプションを選択する場合に、TableAdapter 構成ウィザードを完了する方法について説明します。
[ストアド プロシージャの生成] ページで、データ テーブルにデータを格納する SQL ステートメントを入力します。 これが、TableAdapter の SELECT ステートメントになり、データの選択、更新、挿入、および削除を行うストアド プロシージャを作成する際の基礎にもなります。
[ストアド プロシージャの作成] ページで、次の操作を行います。
新しいストアド プロシージャの名前を入力します。
基になるデータベースにストアド プロシージャを作成するかどうかを指定します。
注意
データベースにストアド プロシージャを作成できるかどうかは、それぞれのデータベースのセキュリティ設定とアクセス許可に応じて決まります。たとえば、データベースに新しいストアド プロシージャを作成するアクセス許可を持っていない場合は、作成するオプションを実行できません。
[ウィザードの結果] ページに、TableAdapter 作成の結果が表示されます。 ウィザードで問題が発生すると、このページにエラー情報が表示されます。
[既存のストアド プロシージャを使用]
ここでは、[既存のストアド プロシージャを使用] オプションを選択する場合に、TableAdapter 構成ウィザードを完了する方法について説明します。
[コマンドを既存のストアド プロシージャにバインドする]
TableAdapter の SELECT、INSERT、UPDATE、および DELETE の各コマンドで実行するストアド プロシージャを選択します。 これらのストアド プロシージャは、関連付けられたメソッドが TableAdapter で呼び出されると実行されます。 たとえば、UPDATE コマンドに割り当てられたストアド プロシージャは、TableAdapter.Update() メソッドが呼び出されると実行されます。
選択したストアド プロシージャのパラメーターを、データ テーブルの対応する列に割り当てます。 たとえば、テーブルの CompanyName 列に渡す @CompanyName という名前のパラメーターをストアド プロシージャが受け取る場合、@CompanyName パラメーターの [ソース列] を CompanyName に設定します。
注意
SELECT コマンドに割り当てられたストアド プロシージャは、ウィザードの次の手順で指定する TableAdapter のメソッドを呼び出すと実行されます。既定では Fill になっているため、SELECT プロシージャを実行する一般的なコードは TableAdapter.Fill(tableName) です。既定の Fill から変更する場合は、Fill を割り当てる名前に置き換え、"TableAdapter" を TableAdapter の実際の名前 (たとえば、CustomersTableAdapter) に置き換えます。
[詳細オプション]
[詳細オプション] をクリックすると、TableAdapter の次の詳細オプションが表示されます。
[INSERT、UPDATE、および DELETE ステートメントの生成]
このオプションを選択すると、[SQL ステートメントの生成] ページで定義した SELECT ステートメントに基づいて、ウィザードが INSERT、UPDATE、および DELETE の各ステートメントの生成を試みます。
[オプティミスティック同時実行制御]
このオプションを選択すると、データ テーブルに元の各レコードを読み込んだ後にこれらのレコードが変更された場合は検出するように UPDATE ステートメントと DELETE ステートメントが変更されます。 同時実行違反を検出すると、例外がスローされます。
[データ テーブルの更新]
このオプションを選択すると、INSERT ステートメントと UPDATE ステートメントを実行した後で、テーブルのデータが最新の内容に更新されます。
次の手順
ウィザードが完了すると、TableAdapter がデータセットに追加され、データセット デザイナーで表示および編集できるようになります。 ウィザード終了後に行う作業がいくつかあります。
TableAdapter をさらに追加します。 このウィザードは 1 つの TableAdapter を作成します。 複数のテーブルを含むデータセットを使用する場合は、通常、データセットにさらに TableAdapter を追加します。
TableAdapter に他のクエリを追加します。 詳細については、「方法 : TableAdapter クエリを作成する」を参照してください。
[データ ソース] ウィンドウにこのデータセットを表示し、フォームに項目をドラッグしてデータ バインド コントロールを作成します。 詳細については、「Visual Studio でのデータへの Windows フォーム コントロールのバインド」を参照してください。
参照
処理手順
関連項目
概念
Visual Studio でのデータへの Windows フォーム コントロールのバインド
Visual Studio でのデータへのコントロールのバインド