C#を始めよう|MySQLに接続

C#を始めよう|MySQLに接続

C#

C#でMySQLに接続するにはMySQLコネクタが必要になります。
MySQLコネクタはMySQLのサイトからダウンロードできます。

MySQL

MySQLコネクタダウンロード・インストール

 

MySQLのTOPページ

MySQLのサイトを表示して赤枠で囲んでいる「MySQL Enterprise Edition」をクリックします。

コネクタを選択

右側の赤枠、コネクタをクリックします。

 

ADO.NET

「ADO.NET Driver for MySQL(Connector/NET)」を選択。

ダウンロードページ表示

色んなボタンがありますが、迷わずDownloadをクリック。

ダウンロード開始

赤枠で囲んだ「No thanks,just start my download」をクリックしらたダウンロードが開始されます。

インストール開始

ダウンロードしたファイルを実行するとインストールプログラムが起動します。

Nextをクリック。

インストールタイプ

「Typical」を選択してNextをクリック。

インストール開始

Installをクリックしてインストール開始。

インストール完了

インストールが完了したのでFinishをクリックして終わります。

インストール作業はこれで終わりです。
後はVisual Studioをちょこっと操作します。

 

Visual Studio参照設定

先程インストールしたMySQLのコネクタをVisual Studioで使えるようにします。

ソリューションエクスプローラー

「参照」を右クリックして「参照の追加」をクリック。

参照設定

検索枠に「my」と入力したら参照対象が表示されるので「MySql.Data」を選択してOKをクリック。

Visual Studioの参照設定はこれだけで完了です。

早速C#でMySQLに接続するプログラムを作ります。

空のクラス作成

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
}

このクラスにMySQLに関する処理を追加します。
using MySql.Data.MySqlClient;を忘れる事無く!!。

MySQL接続文字列

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
    string server   = "localhost";
    string user     = "root";
    string password = "";
    string database = "sssproduct";
}

環境によって変わってきますが、MySQLの接続に必要な情報です。

コネクションをインスタンス

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
    string server   = "localhost";
    string user     = "root";
    string password = "";
    string database = "sssproduct";

    MySqlConnection connection = new MySqlConnection(); //  MySQL接続をインスタンス
}

MySqlMySqlConnectionをインスタンスして使用可能にします。

MySQL接続メソッド

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
    string server   = "localhost";
    string user     = "root";
    string password = "";
    string database = "sssproduct";

    MySqlConnection connection = new MySqlConnection(); //  MySQL接続をインスタンス

    //  Localhost MySQL sssproduct接続
    public bool connect()
    {
        try
        {
            connection.ConnectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3}", server, database, user, password);
            connection.Open();
        }
        catch (MySqlException me)
        {
            Console.WriteLine("ERROR: " + me.Message);
            return false;
        }
        return true;
    }
}

接続用文字列を利用してMySQLに接続します。

正常に接続できたらtrueを返し接続に失敗したらfalseを返します。
戻り値のtrueやfalse等の値を直接使うのは呼び出し側と相違が発生する可能性があるのであまり好ましい方法ではありません。

定数をまとめて定義するものを作ります。

定数の定義

class GlobalVariable
{
    public bool OK = true;
    public bool NG = false;
}

今回はこれだけのも物ですが、プログラムを書き進めて必要になればこれに加えて書きます。

定数を利用

先程のMysqlに接続するプログラムを改良しました。

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
    string server   = "localhost";
    string user     = "root";
    string password = "";
    string database = "sssproduct";

    MySqlConnection connection = new MySqlConnection(); //  MySQL接続をインスタンス
    GlobalVariable GV = new GlobalVariable();           //  定数をインスタンス

    //  Localhost MySQL sssproduct接続
    public bool connect()
    {
        try
        {
            connection.ConnectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3}", server, database, user, password);
            connection.Open();
        }
        catch (MySqlException me)
        {
            Console.WriteLine("ERROR: " + me.Message);
            return GV.NG;
        }
        return GV.OK;
    }
}

定数を定義したGlobalVariableインスタンス化して返す値もプロパティを使います。

おっと、MySQLに接続したら解放も必要です。
解放の処理を追加します。

MySQL解放

using System;
using MySql.Data.MySqlClient;

class MySQLsssproduct
{
    string server   = "localhost";
    string user     = "root";
    string password = "";
    string database = "sssproduct";

    MySqlConnection connection = new MySqlConnection(); //  MySQL接続をインスタンス
    GlobalVariable GV = new GlobalVariable();           //  定数をインスタンス

    //  Localhost MySQL sssproduct接続
    public bool connect()
    {
        try
        {
            connection.ConnectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3}", server, database, user, password);
            connection.Open();
        }
        catch (MySqlException me)
        {
            Console.WriteLine("ERROR: " + me.Message);
            return GV.NG;
        }
        return GV.OK;
    }

    //  database sssproduct解放
    public void deconnect()
    {
        connection.Close();
    }
}

これでMySQLsssproductクラスは完成です。
ではこれらのクラスを呼び出すMainの処理を作ります。

MySQLに接続するプログラム

using System;
using MySql.Data.MySqlClient;

namespace ProjectMySQL
{
    class Program
    {
        static void Main(string[] args)
        {
            GlobalVariable GV = new GlobalVariable();           //  定数インスタンス
            MySQLsssproduct sssproduct = new MySQLsssproduct(); //  Localhost MySQL sssproductアクセスインスタンス

            if (sssproduct.connect() == GV.OK)
            {
                Console.WriteLine("Localhost MySQL sssproductに接続しました。");
                sssproduct.deconnect();
            }
            else
            {
                Console.WriteLine("Localhost MySQL sssproductの接続に失敗しました。");
            }
            Console.ReadLine();
        }
    }
}

先に作ったクラスを使ってMySQLに接続します。
戻り値によって正常に接続できたか、接続に失敗したかを判定します。

コメント

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