MySQL Connector/NETを使ってみよう

本チュートリアルの内容

■ 開発環境の確認

前提とする環境

このチュートリアルでは、以下の環境を想定します。

開発の準備

開発に使用するMySQLはMySQLのページからダウンロードして、インストールする必要があります。MySQLについては、他のチュートリアルがありますので、そちらを実施してください。

DBは、上のチュートリアルで作成したものを利用します。

ページの先頭へ

■ C#を使ってDB接続する

では、さっそく、Visual Studioを立ち上げて、MySQLに接続してみましょう。ここでは、VC#で、DBConnectというプロジェクトを立ち上げました。

VC#の立上げ
図 VC#の立上げ

まず最初に、NuGetから、MySQL.Dataというパッケージを追加しておきましょう。「ツール」>「Nugetパッケージマネージャ」>「ソリューションNugetパッケージの管理」を選択して、「参照」タブを選択後に、検索窓に「mysql.data」を入力し、パッケージを検索します。

参照設定の追加
図 NuGetからMySQL.Dataを検索(1)
参照設定の追加
図 NuGetからMySQL.Dataを検索(2)

検索結果から、MySQL.Dataを選択して、インストールします。

MySQL.Dataのインストール
図 MySQL.Dataのインストール

追加されているかを確認してみましょう。


図 参照設定の確認

確かに追加されていますね。これで、MySQLと接続できるようになります。

では、実際のプログラミングに入ります。Formにボタンと、DataGridViewを追加します。ボタンは、クエリを発行用で、DataGridViewはその結果を表示する用です。ボタンには、「検索」という文字を入れておきます。これは、ボタンを選択し、プロパティの欄のTextの項目に検索と入力することで実現できます。

フォームの作成
図 フォームの作成

ボタンを押したときのプログラムを追加する方法にはいくつかありますが、簡単なのは、ボタンをダブルクリックすることです。すると以下のような画面が開きます。

ボタン処理
図 ボタン処理

ここで、まず、namespaceの追加をしておきます。

using MySql.Data.MySqlClient;

つぎに、コードを追加してみよう。

    //サーバー接続
    string server = "192.168.0.10";
    string database = "picklog_db";
    string user = "picklog";
    string pass = "p!cklog";
    string charset = "utf8";
    string connstr = string.Format("Server={0};Database={1};Uid={2};Pwd={3};Charset={4}", server, database, user, pass, charset);
    MySqlConnection conn = new MySqlConnection(connstr);
    conn.Open();

    // データを格納するテーブル作成
    DataTable dt = new DataTable();

    // SQL文と接続情報を指定し、データアダプタを作成
    MySqlDataAdapter da = new MySqlDataAdapter("select * from log_tbl", conn);

    // データ取得
    da.Fill(dt);

    // データ表示
    dataGridView1.DataSource = dt; 
          

少しだけコードの解説をしますと、connstrでは、接続するDBを定義しています。ここでは、前提としているMySQLのチュートリアルで作成した、DB(picklog_db)に接続しています。

ユーザ名とパスワードもその際のものです。また、Serverとして、サーバーが動いているマシンのIP アドレスを指定しています。このチュートリアルを実施する際には、自分の環境に合わせて内容を変える必要があります。

SQL実行は、MySQLAdapterクラスのインスタンスで定義しています。ここでは、log_tblから、すべてのレコードを表示するという簡単なものを使用しています。

では、実際にこのコードを動かしてみましょう。

実行例
図 実行例

まずは、こんな画面が立ち上がります。ここで、「検索」ボタンを押すと以下のようになります。

実行結果
図 実行結果

無事にMySQLに接続できたのが確認できたでしょうか。

ページの先頭へ

応用問題に挑戦してみよう

データの更新もやってみましょう!


ページの先頭へ