PR

C#でMySQLを制御する方法【MySQLのデータのやり取り】

 MySQL単体の操作が理解できたとして、理解した操作方法をどう有効活用したらいいか悩むこともあると思います。

 そんな時は、C#のwindowsFormApplicationで、デスクトップアプリを作ってそのアプリと連携してみるのはどうでしょうか?

 デスクトップアプリと連携させることで、自作のデータベース閲覧アプリが作れたり、データベースの内部のデータを使った処理や、データベースにデータを格納・保存したりできます。

 工場のような生産現場ではトレーサビリティの観点からデータのやり取りが頻繁に行われますが、そんなときにもこの方法は有効です。

 ぱっと見は少し難しく見えるかもしれませんが、ご紹介した順番通りに実行していけば何も難しいことはありません。ぜひチャレンジしてみてください。

 MySQLをコマンドプロンプトで制御する方法を紹介した以前の記事はコチラ↓↓

コマンドプロンプトでMySQLを制御する方法について
この記事を読むことでわかること

C#アプリからMySQLを制御する方法がわかる

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

まずC#でコントロールするための準備

まずは準備です。以前紹介したMySQLConnectorで保存された、
MySQL.Data.dllというものを、参照設定に追加します。
そうすることで、C#でもMySQLが使用できるようになります。

mysqlConnectorを実行ファイル内にコピーして格納

実行ファイル。具体的にはbinファイルの中にこのようにMySQL.Data.Dllを入れましょう。

MysqlData.dllの格納先

実行ファイル内のmysql.Dataを参照設定に追加

次に、参照設定の追加方法ですが、ソリューションエクスプローラから参照設定画面を開きましょう。

そして、実行ファイル内からMySQL.Data.dllを参照に追加します。

参照設定にdllを追加

ここまで正しい手順で行えていれば、以下のように正しく参照できて、
エラーになることはありません。

フォームの作成

コンソールアプリケーションも良いですが、
私の記事では基本的にWindowsFormを作成します。

こちらのように、ボタンを一つ作っておいてください。

C#で作成したフォーム画面
form

私はこのボタンの名前を、button_takeDataとしています。
なぜこの名前なのかは、後々わかります…

追加したボタンに名前を付ける
ボタンのプロパティ

実際のソースコード

ここまで来たら実際にコードを書いてみましょう。
こちらのように、使用するライブラリに気を付けて打ち込んでいきましょう。

using System;
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;
using MySql.Data.MySqlClient;
using MySql.Data;

namespace mysqlTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       
        DataTable dt = new DataTable();
        private void button_takeData_Click(object sender, EventArgs e)
        {
            // MySQLへの接続情報
            string server = "localhost";		// MySQLサーバ名※今回は自機の疑似サーバへのアクセスなのでlocalhost
            string user = "root";			// MySQLユーザ名※管理者権限の場合はroot,他に作成済みのユーザ名でもOK
            string pass = "";			// MySQLパスワード※ユーザ名に対応したパスワードを入力
            string database = "world";		// 接続するデータベース名※テスト用に作ってあるデータベースを使用
            string connectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3}", server, database, user, pass);
            
            // MySQLへの接続
            try
            {
                // ここでMySQLConnectionを初期化(引数に上記の情報を入れる)
                MySqlConnection mysqlConnect = new MySqlConnection(connectionString);
                // 実際にここでMySQLに接続
                mysqlConnect.Open();
                // ここまで通ればMySQLに接続できている
                MessageBox.Show("MySQL接続完了");
                dataGridView_mysqlData.DataSource = dt;                                                                           
            }
            catch (Exception)
            {
                // catchされたら、どこかしらが間違っている。
                MessageBox.Show("MySQL接続失敗");
            }            
        }      
    }
}

ここまで出来たら…

ここまで出来たら後は複数台の接続や、保存内容をどうするか、どんなデータをやり取りするか。など夢が広がりますね。

MySQLコマンドでテーブル内のデータの取得や追加

実際にSELECT文などを扱う方法は別の記事で説明します。
今回はC#での接続までをご紹介しました。

※最後まで読んでくださりありがとうございます。

本ブログは…

SNSへの拡散など大歓迎です!

Twitterもやっていますので、気軽にお声がけください。

コメント

タイトルとURLをコピーしました