C# Visual Studio

【Visual Studio 2022】C#データベース操作アプリケーション作成の基本

本記事では、データベースに保存されているデータを検索・登録・更新・削除を行うデータベース操作アプリケーションの作成方法を解説します。

DataSetやTableAdapterを用いたデータ連携の仕組みを理解しながら、実際に動作するアプリを作る手順をステップごとに学べます。


完成イメージ

今回はデータを検索・登録・更新・削除を行うデータベース操作アプリケーションを作成します。

主な機能は以下の通りです。
・検索:入力された商品IDに一致する「商品名」と「単価」を表示します。
・登録:入力された「商品ID」「商品名」「単価」をデータベースに登録します。
・更新:入力された商品IDに一致する「商品名」と「単価」を更新します。
・削除:入力された商品IDのデータをデータベースから削除します。

「作成するアプリケーション」


データベースの作成

以下のデータベースを作成してください。

・データベース名:商品管理

・テーブル名:商品マスタ

列名データ型主キーNULL許容
商品IDvarchar(4)
商品名varchar(10)
単価int

アプリケーションの作成

プロジェクト

・テンプレート:Windowsフォームアプリケーション(.NET Framework)
・言語:C#
・フレームワーク:.NET Framework 4.8

DataSet
商品マスタ
商品マスタTableAdapterSQL
DeleteQueryDELETE FROM [dbo].[商品マスタ] WHERE [商品ID] = @商品ID
FillBy商品ID, GetDataBy商品IDSELECT 商品ID, 商品名, 単価 FROM dbo.商品マスタ
WHERE 商品ID = @商品ID
UpdateQueryUPDATE [dbo].[商品マスタ] SET [商品名] = @商品名, [単価] = @単価 WHERE [商品ID] = @商品ID
メイン画面
コントロール
名称コントロールの種類備考
固定文字Label
商品ID入力TextBox・ImeMode:Disable
・MaxLength:4
商品名表示Label
商品名入力TextBox・MaxLength:10
単価表示Label
単価入力TextBox・Maximum:9999999
・Minimum:0
操作ボタンButton
コード
C#
using System;
using System.Windows.Forms;

namespace ArtApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_検索_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet.商品マスタDataTable dt_商品マスタ = this.tad_商品マスタ.GetDataBy商品ID(this.txb_商品ID_検索.Text);

                if(dt_商品マスタ.Rows.Count < 1)
                {
                    this.lbl_商品名_検索.Text = string.Empty;
                    this.lbl_単価_検索.Text = string.Empty;
                    return;
                }

                this.lbl_商品名_検索.Text = dt_商品マスタ[0].商品名;
                this.lbl_単価_検索.Text = dt_商品マスタ[0].単価.ToString("N0");
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "検索エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btn_登録_Click(object sender, EventArgs e)
        {
            try
            {
                this.tad_商品マスタ.Insert(
                    this.txb_商品ID_登録.Text,
                    this.txb_商品名_登録.Text,
                    (int)this.nud_単価_登録.Value
                    );

                this.txb_商品ID_登録.Text = string.Empty;
                this.txb_商品名_登録.Text = string.Empty;
                this.nud_単価_登録.Value = 0;

                MessageBox.Show("登録が完了しました。", "登録完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btn_更新_Click(object sender, EventArgs e)
        {
            try
            { 
                this.tad_商品マスタ.UpdateQuery(
                    this.txb_商品名_更新.Text,
                    (int)this.nud_単価_更新.Value,
                    this.txb_商品ID_更新.Text
                    );

                this.txb_商品ID_更新.Text = string.Empty;
                this.txb_商品名_更新.Text = string.Empty;
                this.nud_単価_更新.Value = 0;

                MessageBox.Show("更新が完了しました。", "更新完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "更新エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btn_削除_Click(object sender, EventArgs e)
        {
            try
            {
                this.tad_商品マスタ.DeleteQuery(this.txb_商品ID_削除.Text);

                this.txb_商品ID_削除.Text = String.Empty;

                MessageBox.Show("削除が完了しました。", "削除完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "削除エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}

実行・動作確認

作成したアプリケーションを実行し、想定通りに動作するか確認してみましょう。

検索機能
1. 商品IDを入力し、検索ボタンをクリックします。
2. 商品IDに一致する「商品名」と「単価」を表示します。

登録機能
1. 「商品ID」「商品名」「単価」を入力し、登録ボタンをクリックします。
2. 入力された内容をデータベースに登録します。

更新機能
1. 「商品ID」「商品名」「単価」を入力し、更新ボタンをクリックします。
2. 入力された商品IDに一致する「商品名」と「単価」を更新します。

削除機能
1. 「商品ID」を入力し、削除ボタンをクリックします。
2. 入力された商品IDに一致するデータをデータベースから削除します。

完成イメージ通りに動作すれば、ソケット通信アプリケーションの作成は完了です。


次の記事へ


あなたをプロにすることを約束します。

アルチテックのインターンシップはハイレベル。

現役のシステムエンジニアがマンツーマン指導

市場価値が高い産業系システムエンジニアを目指そう!

インターンシップの募集はこちら

-C#, Visual Studio
-, , , ,