クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

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

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

 

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

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