Windows Form TableAdapter アプリケーション

DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新

DataSetへの更新をデータベースへ反映させる手順とコードを紹介します。

はじめに

こちらの記事ではテーブルのレコードをDataGridViewに表示するシンプルなアプリケーションの作成手順を紹介しました。

UI

DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像1

アプリケーションを実行します。ウィンドウが表示されDataGridViewにレコードが表示されます。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像2

一番下の行に追記します。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像3

アプリケーションを終了しサイドアプリケーションを実行します。レコードが表示されますが先ほど追記した内容は追加されていません。データベースへの反映はされていないことがわかります。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像4

データベースへの反映

事前準備

こちらの記事のテーブルのレコードをDataGridViewに表示するシンプルなアプリケーションを作成します。

UI

下図のUIを作成します。先のプログラムのUIにボタンを1つ追加します。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像5

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SimpleDataUpdate
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      // TODO: このコード行はデータを 'iPentecSandBoxDataSet.SimpleProduct' テーブルに読み込みます。
      //必要に応じて移動、または削除をしてください。
      this.simpleProductTableAdapter.Fill(this.iPentecSandBoxDataSet.SimpleProduct);

    }

    private void button1_Click(object sender, EventArgs e)
    {
      simpleProductTableAdapter.Update(iPentecSandBoxDataSet);
    }
  }
}

解説

フォームに作成・配置されているTableAdapterコンポーネントのUpdateメソッドを呼び出します。Updateメソッドの引数にはデータセットを与えます。データセットもフォームに作成・配置されているデータセットコンポーネントを用います。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。最後の行にレコードを追記します。 DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像6

buttonをクリックします。追記したレコードがデータベースに反映されます。idのフィールドのIDがTrueになっている場合、自動で採番されます。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像7

プログラムを終了し、再度実行すると先ほど追加したレコードがDataGridViewに表示されます。追加したレコードがデータベースに追加されていることが確認できました。
DataSetの更新をデータベースへ反映させる - TableAdapterを利用したレコードの更新:画像8

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2012-10-23
Copyright © 1995–2025 iPentec all rights reserverd.