【Winforms】DataSetを使ったデータ操作を学ぼう!(コードで記述)
目次
このレッスンで学べること
- DataSetって何?
- データベースの情報をプログラム内で管理するための仕組み。
 - 画面にデータを表示したり、データを操作したりする際に役立ちます!
 
 - データを画面に表示する方法
- データベースからデータを取得して、表形式で表示します。
 
 - プログラムでデータを操作する方法
- DataSetを使ったコード中心の操作を学びます。
 
 
1. DataSetって何?
- DataSetは、データベースから取ってきたデータを「プログラム内で一時的に保存」するためのツールです。
 - 例えると:
- DataSetは「メモ帳」のようなもの。データベースからコピーした内容をメモ帳に貼り付けて使います。
 
 
2. このレッスンで作るもの
- データベースから「従業員リスト」を取得して、画面上に表形式で表示します。
 - 画面には
DataGridViewというコントロールを使ってデータを表示します。 
3. 実際に作ってみよう!
手順 1: プロジェクトの準備
- Visual Studioを開きます。
 - [ファイル] > [新規作成] > [プロジェクト]を選択します。
 - 「Windows Forms アプリ (.NET)」を検索して選びます。
 - プロジェクト名を「DataSetExample」として作成をクリックします。
 
手順 2: 必要なデータベースを用意
データベースにEmployeesというテーブルがあると仮定します。
テーブル例:
| EmployeeID | Name | Department | 
|---|---|---|
| 1 | 山田 太郎 | 総務部 | 
| 2 | 佐藤 花子 | 営業部 | 
| 3 | 鈴木 一郎 | IT部 | 
手順 3: プログラムでデータを取得して表示する
コードを記述する:
- ソリューションエクスプローラーで
Form1.csを開きます(ダブルクリック)。 - 以下のコードを入力してください。
 
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        // データベース接続情報
        string connectionString = "your_connection_string"; // 自分の接続文字列を入力
        string query = "SELECT EmployeeID AS 社員ID, Name AS 氏名, Department AS 部署名 FROM Employees";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // DataSetとSqlDataAdapterを使ってデータを取得
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            DataSet dataSet = new DataSet();
            // DataSetにデータを格納
            adapter.Fill(dataSet, "Employees");
            // DataGridViewにデータを表示
            DataGridView dataGridView = new DataGridView
            {
                Dock = DockStyle.Fill, // 画面全体に表示
                DataSource = dataSet.Tables["Employees"], // データをバインド
                AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill // 列の幅を自動調整
            };
            // DataGridViewをフォームに追加
            this.Controls.Add(dataGridView);
        }
    }
}
AS句を使用して、列名を日本語に変更しています。データベースのテーブル名や列名が英語でも、日本語で表示できるように工夫しています。
string query = "SELECT EmployeeID AS 社員ID, Name AS 氏名, Department AS 部署名 FROM Employees";
手順 4: 実行してみよう!
- Ctrl + F5を押してプログラムを実行します。
 - 画面に従業員リストが表形式で表示されるはずです。
 - データが表示されない場合は以下を確認しましょう:
- データベースに接続できているか。
 - クエリ(SQL文)が正しいか。
 
 
以下のような画面が表示されます:
+--------+--------+--------+
| 社員ID | 氏名   | 部署名 |
+--------+--------+--------+
| 1      | 山田 太郎 | 総務部 |
| 2      | 佐藤 花子 | 営業部 |
| 3      | 鈴木 一郎 | IT部   |
| 4      | 高橋 和子 | 人事部 |
| 5      | 田中 次郎 | 経理部 |
+--------+--------+--------+
4. このプログラムのポイント DataSetの仕組み
DataSetの仕組み
- DataSetはメモ帳のように、複数のデータテーブルを保存できます。
 - 今回は1つのテーブル(Employees)を扱いましたが、複数のテーブルを保存してリレーションを設定することも可能です。
 
DataAdapterの役割
- DataAdapterは、データベースとDataSetをつなぐ「配達員」のようなものです。
 - SQLクエリを使って必要なデータをDataSetに入れてくれます。
 
5. 実践に向けたアイデア
- フィルタリングを追加:
- 「IT部門だけを表示する」など、SQL文にWHERE句を追加して条件付きでデータを取得してみましょう。
 
 - データの編集:
- DataGridView上でデータを編集し、変更をデータベースに保存する機能を追加してみましょう。
 
 - 複数テーブルの操作:
- DataSetに複数のテーブルを追加し、それらの関連性(リレーション)を作ってみましょう。
 
 
6. 学んだことを振り返り
- DataSetを使ってデータベースからデータを取得する方法。
 - DataGridViewでデータを画面に表示する方法。
 - SqlDataAdapterの役割と使い方。
 
7. 次に進むために
- この基礎を応用して、より高度なデータ操作(フィルタリング、編集、リレーション)を学んでみましょう。
 - Entity Framework Coreを使った最新のデータ操作方法も試してみると、より便利な方法が学べます!
 
訪問数 193 回, 今日の訪問数 1回






ディスカッション
コメント一覧
まだ、コメントがありません