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

プログラム

今までの記事でMySQLの新規導入と、MySQLのコマンドプロンプトでの制御については

ご紹介してきましたが、本題の別ソフト(今回はC#)で

どのように制御していくかご説明していきます。

その前に少し自己紹介です。

自己紹介
東証一部上場企業に勤務
主に工場で使う検査装置や、
自動化するためのソフトを日々開発中

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

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

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

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

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

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

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

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

フォームの作成

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

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

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#での接続までをご紹介しました。

コメント

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