困ったー

WIN10・アプリ・ゲームで困ったことを調べてみた

「こまったー」は困ったことを調べたブログです。

オキュラスクエスト2 |  ARK攻略 |  マイクラ攻略 |  サティスファクトリー攻略 | 

スポンサーリンク


【Visual Studio】C#からMySqlの使い方 接続するには?SQL文を実行するには?

◆Paypayならチャージだけでマイナポイント最大5000円還元( アイフォン(iOS) | アンドロイド)

MySqlはデータベースサーバとしてよく利用されており、国内でも利用しているケースはたくさんあると思います。

通常はブラウザからマルチデバイスでアクセスしながら使うことが多いと思います。

しかしお客さん用に業務ソフトとして提供する場合にはC#などでウィンドウズアプリとして提供したほうがいいケースもあるでしょう。

ここではC#からMySqlへアクセスする方法などをまとめていきます。

準備編

MySQL Logo

コネクター

まずはVisualStudioでC#を利用できるようにします。

またMySqlサーバをインストールし、利用できるようにしましょう。

MySqlサーバはウィンドウズ版もリリースされています。開発機に入れれば、ハンドリングが楽になって、開発効率もアップしやすいと思います。

 

両者を接続して使えるようにするには、コネクターが必要です。

以下より無料でダウンロードできます。

 

https://www.mysql.com/jp/products/connector/

f:id:apicode:20190904103827p:plain

 

するとなぜか?MySQLインストーラのおすすめなどもありますが、無視して下の「Download」ボタンを押します。

f:id:apicode:20190904103829p:plain

 

続いてアカウントが求めらますが「No thank you」を選べばダウンロードが始まります。

f:id:apicode:20190904103924p:plain

 

インストーラを起動したら、以下の画面まで進めます。

種類選択では「Typical」を選んでインストールすればまず大丈夫でしょう。

f:id:apicode:20190904104034p:plain

 

参照

次にC#のプロジェクトを作成。

「参照の追加」を実行します。

f:id:apicode:20190904104322p:plain

 

「アセンブリ」で「MySql.data」を見つけたら、チェック。

f:id:apicode:20190904104325p:plain

 

これで「参照」のところにMySql.dataが出てきます。

f:id:apicode:20190904104426p:plain

 

 

プログラム編

TalkIT #4 MySQL Lessons

 

接続する

フォームでボタンを押すと、MySqlへ接続するプログラムを作ります。

 

まずはプログラムコードから参照できるように「using MySql.Data.MySqlClient;」を追加します。

f:id:apicode:20190904104613p:plain

 

次にMySQLサーバに必要な文字列を作ってMySqlConnectionへ送ります。

 

サーバ名(server)は、自機に入れている場合は「localhost」になるでしょう。 

データベース名(database )は、利用するデータベースの名前を指定します。 

ユーザ名(userid)は変更しないと「root」のままだと思います。

パスワード(password)はMySQLサーバ用に任意に設定したパスワードです。

以上を「=」と「;」を使った以下のような文字列にまとめます。

例えばデータベース名がtestdata、パスワードが1111なら

 

string sLogin = "server=localhost; database = testdata; userid=root; password=1111; ";

..となります。

 

あとはそれをMySqlConnection へ送ってからOpenで接続します。

 try
{
 MySqlConnection connection = new MySqlConnection(sLogin);
 connection.Open();
 MessageBox.Show("接続しました");
 connection.Close();
}
catch (MySqlException me)
{
 MessageBox.Show("ERROR: " + me.Message);
}

 

これをボタン内に記述します。

アプリを実行し、ボタンを押すと「接続しました」と表示されれば大丈夫です。

 

接続できない?

エラーの場合は、サーバ名、パスワード、ユーザ名、データベース名に間違いがないか確認します。

 

MySqlをインストールすれば、コンソールが利用できるようになっています。

f:id:apicode:20190904110622p:plain

 

コマンドラインで

「mysql -u ユーザー名 -D データベース名 -p」

を実行します。

 

これで接続できれば、ユーザ名等の情報が正しいかどうかチェックできると思います。

 

SQL文の実行

今度はSQL文を実行するようにしてみましょう。

データ表示用にフォームに「DataGridView」を追加しておきます。

f:id:apicode:20190904111125p:plain

 

今度はデータテーブルを作ってSQL文を送ります。

SQL文は「app_ai」というテーブルからすべての行を取得させるSelect文を作ります。SQL文字列としては「select * from app_ai」とします。

 

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("select * from app_ai", connection);

da.Fill(dt);

 

データを取得したら、データグリッドビューへ接続することでデータがすぐ確認できるようにします。
dataGridView1.DataSource = dt;

 

つなげたソースはこんな感じ。

try
{
MySqlConnection connection = new MySqlConnection(sLogin);
connection.Open();


DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter("select * from app_ai", connection);
da.Fill(dt);
dataGridView1.DataSource = dt;
connection.Close();
}
catch (MySqlException me)
{
MessageBox.Show("ERROR: " + me.Message);
}

 

無事 MySQLに接続できて、SQL文を実行できれば以下のようにテーブルのデータ一覧がでてくるはずです。

f:id:apicode:20190904112614p:plain

 

 

  1.  

    [C#関連記事]

    1. 【Visual Studio 2019】C#の始め方 - 困ったー
    2. 【Visual Studio 2019】C#のエラーと対策 - 困ったー
    3. 【C#】ツールボックス 一覧 - 困ったー
    4. 【Visual Studio】C#でフォームの使い方 フル画面?半透明?バーを消す?
    5. 【VisualStudio】C#のボタンとは?使い方は?
    6. 【VisualStudio】C#のパネルとは?使い方は?
    7. 【Visual Studio】C#で表・テーブルを使うには?
    8. 【Visual Studio】C#でスクレイピング
    9. 【Visual Studio】C#で文字やファイルを扱うには? - 困ったー
    10. 【Visual Studio】C#で画像やサウンドを扱うには? - 困ったー
    11. 【Visual Studio】C#で動画を制御するには?ビデオ入力表示は?
    12. 【Visual Studio】C#でインターネット関数の使い方 - 困ったー
    13. 【Visual Studio】C#で顔認識や日本語解析のサンプル - 困ったー
    14. 【Visual Studio】C#からMySqlの使い方 接続するには?SQL文を実行するには?

     

    [Visual Studio 2019関連記事]

    1. Visual Studio 2019 無料で使うには?ダウンロードするには?
    2. インストーラ作成のまとめ アイコンは?.NET Frameworkを含めるには?
    3. Visual Source Codeとは?Visual Studio 2019との違いは?

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ