【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を使った最新のデータ操作方法も試してみると、より便利な方法が学べます!
ディスカッション
コメント一覧
まだ、コメントがありません