MySQL単体の操作が理解できたとして、理解した操作方法をどう有効活用したらいいか悩むこともあると思います。
そんな時は、C#のwindowsFormApplicationで、デスクトップアプリを作ってそのアプリと連携してみるのはどうでしょうか?
デスクトップアプリと連携させることで、自作のデータベース閲覧アプリが作れたり、データベースの内部のデータを使った処理や、データベースにデータを格納・保存したりできます。
工場のような生産現場ではトレーサビリティの観点からデータのやり取りが頻繁に行われますが、そんなときにもこの方法は有効です。
ぱっと見は少し難しく見えるかもしれませんが、ご紹介した順番通りに実行していけば何も難しいことはありません。ぜひチャレンジしてみてください。
MySQLをコマンドプロンプトで制御する方法を紹介した以前の記事はコチラ↓↓
コマンドプロンプトでMySQLを制御する方法についてC#アプリからMySQLを制御する方法がわかる
Youtubeチャンネルにさまざまな動画を上げています。
↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓
まずC#でコントロールするための準備
まずは準備です。以前紹介したMySQLConnectorで保存された、
MySQL.Data.dllというものを、参照設定に追加します。
そうすることで、C#でもMySQLが使用できるようになります。
mysqlConnectorを実行ファイル内にコピーして格納
実行ファイル。具体的にはbinファイルの中にこのようにMySQL.Data.Dllを入れましょう。
実行ファイル内のmysql.Dataを参照設定に追加
次に、参照設定の追加方法ですが、ソリューションエクスプローラから参照設定画面を開きましょう。
そして、実行ファイル内からMySQL.Data.dllを参照に追加します。
ここまで正しい手順で行えていれば、以下のように正しく参照できて、
エラーになることはありません。
フォームの作成
コンソールアプリケーションも良いですが、
私の記事では基本的にWindowsFormを作成します。
こちらのように、ボタンを一つ作っておいてください。
私はこのボタンの名前を、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もやっていますので、気軽にお声がけください。
コメント