[C#]MySQLの接続方法とは?NuGetパッケージ・データ表示・データ検索
![[C#]MySQLの接続方法とは?NuGetパッケージ・データ表示・データ検索](/infla/column/wp-content/uploads/2020/04/89966180_m-1024x683-1024x683.jpg)
[C#]MySQLの接続方法とは?
今回は、C#でのMySQLの接続方法について説明します。ここでは、MySQLに接続し、レコードをDataGridViewに表示する方法を紹介します。全データを取得したり、WHERE句で該当データを検索して、結果を表示します。
C#でのMySQLの接続方法に興味のある方はぜひご覧ください。
使用データ
ここでは、以下のテーブルをC#のDataGridViewに表示します。
1
2
3
4
5
6
7
8
9
10
|
mysql> select * from score_table;
+---------+--------+----------+---------+-------------+
| user_id | name | japanese | english | mathematics |
+---------+--------+----------+---------+-------------+
| 1 | taro | 56 | 67 | 78 |
| 2 | jiro | 76 | 85 | 84 |
| 3 | saburo | 34 | 65 | 45 |
| 4 | hanako | 74 | 62 | 89 |
| 5 | takako | 92 | 68 | 34 |
+---------+--------+----------+---------+-------------+
|
DB名は「mydb」とします。
NuGetパッケージ
C#でMySQLに接続するために、専用のNuGetパッケージを追加します。
ツール(T)→ NuGetパッケージマネージャー(N)→ ソリューションのNuGetパッケージの管理(N)と選択し、ソリューションのパッケージの管理ウィンドウが開きますので、検索ボックスに「mysql」を入力しましょう。「MySql.Data」を選択してOKボタンをクリックします。
データ表示
C#でのMySQLのデータを表示する方法を紹介します。DataGridViewにMySQLのデータを表示します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Button button;
DataGridView dataGridView;
MySqlConnection conn;
public Form1()
{
this.AutoSize = true;
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
// Buttonを配置
button = new Button();
button.Location = new Point(10, 10);
button.Text = “Load”;
button.AutoSize = true;
button.Click += Button_Click;
this.Controls.Add(button);
// DataGridViewを配置
dataGridView = new DataGridView();
dataGridView.Location = new Point(10, 40);
dataGridView.AutoSize = true;
this.Controls.Add(dataGridView);
// MySQLに接続
using (conn = new MySqlConnection(“server=127.0.0.1;user id=root;database=mydb”))
{
conn.Open();
}
}
private void Button_Click(object sender, EventArgs e)
{
// データ表示用DataTable
DataTable dataTable = new DataTable();
try
{
// SQL文を実行
MySqlDataAdapter dataAdp = new MySqlDataAdapter(“SELECT * FROM score_table”, conn);
dataAdp.Fill(dataTable);
// DataGridViewに表示
dataGridView.DataSource = dataTable;
}
catch (MySqlException mse)
{
MessageBox.Show(mse.Message, “データ取得エラー”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
|
実行し「Load」ボタンをクリックすると、DataGridViewにデータが表示されます。このようにC#では、MySQLに接続し、データを表示できます。
データ検索
C#でのMySQLのデータを検索して表示する方法を紹介します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Button button1, button2;
Label label;
TextBox textBox;
DataGridView dataGridView;
MySqlConnection conn;
public Form1()
{
this.AutoSize = true;
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
// Buttonを配置
button1 = new Button();
button1.Location = new Point(10, 10);
button1.Text = “Select All”;
button1.AutoSize = true;
button1.Click += Button1_Click;
this.Controls.Add(button1);
// 検索用のTextBox
label = new Label();
label.Location = new Point(100, 10);
label.Text = “input user_id:”;
label.AutoSize = true;
this.Controls.Add(label);
textBox = new TextBox();
textBox.Location = new Point(180, 10);
textBox.Text = “1”;
textBox.KeyPress += TextBox_KeyPress;
this.Controls.Add(textBox);
button2 = new Button();
button2.Location = new Point(300, 10);
button2.Text = “Search”;
button2.AutoSize = true;
button2.Click += Button2_Click;
this.Controls.Add(button2);
// DataGridViewを配置
dataGridView = new DataGridView();
dataGridView.Location = new Point(10, 40);
dataGridView.AutoSize = true;
this.Controls.Add(dataGridView);
// MySQLに接続
using (conn = new MySqlConnection(“server=127.0.0.1;user id=root;database=mydb”))
{
conn.Open();
}
}
private void Button1_Click(object sender, EventArgs e)
{
// データ表示用DataTable
DataTable dataTable = new DataTable();
try
{
// SQL文を実行
MySqlDataAdapter dataAdp = new MySqlDataAdapter(“SELECT * FROM score_table”, conn);
dataAdp.Fill(dataTable);
// DataGridViewに表示
dataGridView.DataSource = dataTable;
}
catch (MySqlException mse)
{
MessageBox.Show(mse.Message, “データ取得エラー”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Button2_Click(object sender, EventArgs e)
{
// データ表示用DataTable
DataTable dataTable = new DataTable();
// クエリ
String query = “SELECT * FROM score_table WHERE user_id = “ + textBox.Text;
try
{
// SQL文を実行
MySqlDataAdapter dataAdp = new MySqlDataAdapter(query, conn);
dataAdp.Fill(dataTable);
// DataGridViewに表示
dataGridView.DataSource = dataTable;
}
catch (MySqlException mse)
{
MessageBox.Show(mse.Message, “データ取得エラー”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
// Back Spaceは使用可能
if (e.KeyChar == 0x08)
{
return;
}
// 数字キーのみ入力可能
if (e.KeyChar < 0x30 || e.KeyChar > 0x39)
{
e.Handled = true;
}
}
catch (Exception ex)
{
Console.Error.WriteLine(ex);
}
}
}
}
|
TextBoxにuser_idを入力して「Search」ボタンをクリックすると、該当データが表示されることが分かります。このようにC#では、MySQLのデータを検索して表示できます。
まとめ
いかがでしたでしょうか。C#でのMySQLの接続方法について説明しました。ここでは、MySQLに接続し、レコードをDataGridViewに表示する方法を紹介しました。全データを取得したり、WHERE句で該当データを検索して、結果を表示できます。
ぜひご自身でC#のソースコードを書いて、理解を深めてください。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
![秋葉原オフィスイメージ](/common/images/jobinfo/akihabara.webp)
-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
![ネプラス株式会社へのご応募はこちら↓](/common/images/flow_arrow.webp)
![ネプラス株式会社へのご応募はこちら↓](/common/images/follow.webp)
MySQL新着案件New Job
-
サーバ構築・運用設計/東京都渋谷区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収588万~588万円東京都渋谷区(渋谷駅) -
【高額年収】/基盤運用保守/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収600万~720万円東京都千代田区(溜池山王駅) -
【高額年収】/国内クラウドシステムのサーバ運用保守/東京都新宿区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収600万~720万円東京都新宿区(東新宿駅) -
国内クラウドシステムのサーバ構築のテスター/東京都新宿区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収300万~420万円東京都新宿区(東新宿駅) -
【高額年収】/社内情報システムインフラ運用保守/Windows/東京都多摩北部/【WEB面談可】/在宅勤務/20代~30代の方活躍中
年収600万~720万円東京都多摩北部(-駅) -
社内情報システムインフラ構築のテスター/Windows/東京都多摩北部/【WEB面談可】/在宅勤務/20代~30代の方活躍中
年収300万~420万円東京都多摩北部(-駅)