チュートリアル : データベースへのデータの保存 (単一テーブル)

アプリケーション開発における最も一般的なシナリオの 1 つに、Windows アプリケーションのフォームにデータを表示して編集し、更新したデータをデータベースに返送する操作があります。 このチュートリアルでは、単一のテーブルのデータを複数のコントロールに個別に表示する簡単なフォームを作成します。 コントロール内でデータを編集し、変更内容をデータベースに保存できます。 この例では、Northwind サンプル データベースの Customers テーブルを使用します。

アプリケーション内のデータをデータベースに保存するには、TableAdapter の Update メソッドを呼び出します。 項目を [データ ソース] ウィンドウからドラッグすると、データを保存するコードが、フォームにドラッグされた最初のテーブルに自動的に追加されます。 さらに別のテーブルをフォームに追加した場合は、データ保存用のコードを手動で追加する必要があります。 複数のテーブルからデータを保存する方法については、「チュートリアル : データベースへのデータの保存 (複数テーブル)」を参照してください。

このチュートリアルでは、以下のタスクを行います。

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Customizing Development Settings in Visual Studio」を参照してください。

必須コンポーネント

このチュートリアルを完了するための要件は次のとおりです。

Windows アプリケーションの作成

最初に Windows アプリケーションを作成します。 この手順ではプロジェクトへの名前の割り当てはオプションですが、後でこのプロジェクトを保存するため、プロジェクトに名前を付けます。

新しい Windows アプリケーション プロジェクトを作成するには

  1. [ファイル] メニューで新しいプロジェクトを作成します。

  2. プロジェクトに UpdateSingleTableWalkthrough という名前を付けます。

  3. [Windows アプリケーション] をクリックし、[OK] をクリックします。 詳細については、「.NET Framework を使用したクライアント アプリケーションの開発」を参照してください。

    UpdateSingleTableWalkthrough プロジェクトが作成されてソリューション エクスプローラーに追加されます。

データ ソースの作成

この手順では、データ ソース構成ウィザードを使用して、Northwind データベースからデータ ソースを作成します。 このウィザードを実行するには、Northwind サンプル データベースへのアクセス権を持っている必要があります。 Northwind サンプル データベースのセットアップの詳細については、「方法 : サンプル データベースをインストールする」を参照してください。

データ ソースを作成するには

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

  2. [データ ソース] ウィンドウで、[新しいデータ ソースの追加] をクリックしてデータ ソース構成ウィザードを起動します。

  3. [データソースの種類を選択] ページで、[データベース] をクリックし、[次へ] をクリックします。

  4. [データ接続の選択] ページで、次のいずれかの操作を行います。

    • Northwind サンプル データベースへのデータ接続がドロップダウン リストに表示されている場合は選択します。

      または

    • [新しい接続] を選択して [接続の追加] または [接続の変更] ダイアログ ボックスを表示します。

  5. データベースにパスワードが必要な場合は、該当するオプションを選択して重要情報を含め、[次へ] をクリックします。

  6. [アプリケーション構成ファイルに接続文字列を保存] ページで、[次へ] をクリックします。

  7. [データベース オブジェクトの選択] ページの [テーブル] ノードを展開します。

  8. Customers テーブルを選択し、[完了] をクリックします。

    プロジェクトに NorthwindDataSet が追加され、[データ ソース] ウィンドウに Customers テーブルが表示されます。

作成するコントロールの設定

このチュートリアルでは、既定の DataGridView レイアウトの代わりに、個別のコントロールにデータが表示される [詳細] レイアウトでデータを表示します。

[データ ソース] ウィンドウの項目のコントロールを設定するには

  1. [データ ソース] ウィンドウの [Customers] ノードを展開します。

  2. [Customers] ノードのドロップダウン リストの [詳細] を選択して、Customers テーブルのコントロールを個別のコントロールに変更します。 詳細については、「方法 : [データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。

データ バインド フォームの作成

[データ ソース] ウィンドウからフォームに項目をドラッグして、データ バインド コントロールを作成します。

フォームにデータ バインド コントロールを作成するには

  • [データ ソース] ウィンドウから Form1 にメインの [Customers] ノードをドラッグします。

    説明のラベルが付いたデータ バインド コントロールとレコード間を移動するためのツール ストリップ (BindingNavigator) がフォームに表示されます。 NorthwindDataSetCustomersTableAdapterBindingSource、および BindingNavigator がコンポーネント トレイに表示されます。

データベースを更新するコードの変更

CustomersTableAdapter の Update メソッドを呼び出して、データベースを更新できます。 既定では、BindingNavigator[データの保存] ボタンのイベント ハンドラーが、データベースへの更新を送信するフォームのコードに追加されます。 この手順では、try-catch ブロックに Update 呼び出しをラップすることにより、エラー処理が含まれるようにコードを変更します。 アプリケーションの要件に適合するようにコードを変更できます。

アプリケーションに更新ロジックを追加するには

  1. BindingNavigator[データの保存] ボタンをダブルクリックして、コード エディターで bindingNavigatorSaveItem_Click イベント ハンドラーを開きます。

  2. イベント ハンドラーのコードを置き換えて、いくつかのエラー処理を追加します。 コードは、次のようになります。

    Try
        Me.Validate()
        Me.CustomersBindingSource.EndEdit()
        Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
        MsgBox("Update successful")
    
    Catch ex As Exception
        MsgBox("Update failed")
    End Try
    
    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }
    

アプリケーションのテスト

アプリケーションをテストするには

  1. F5 キーを押します。

  2. 1 つ以上のレコードのデータを変更します。

  3. [データの保存] をクリックします。

  4. データベースの値をチェックし、変更が保存されたことを確認します。

次の手順

Windows アプリケーションにデータ バインド フォームを作成した後で、アプリケーションの要件によってはさらに操作を追加する必要があります。 このチュートリアルで行うことができる拡張には次のものがあります。

参照

概念

Visual Studio でのデータへの Windows フォーム コントロールのバインド

アプリケーションでデータを受け取る準備

アプリケーションへのデータのフェッチ

Visual Studio でのデータへのコントロールのバインド

アプリケーションでのデータ編集

データの検証

データの保存

その他の技術情報

データに関するチュートリアル

Visual Studio でのデータへの接続