実現したいこと
下のような連絡先をキーワード検索してその情報を画面に出すというものを作りたいです。
また、キーワードに当てはまるものがなければ全ての情報を画面に出したいです。
(デフォルトでは下にあるような全部の情報を画面に出している状態が良いです。)
※下にある情報は偽物です!わかりやすく芸能人の名前にしております。
前提
※プログラミング初心者です。ネットで色々調べましたがなかなか動作しなかったので質問させていただきます。
使用しているものは以下の通りです。
・visual studio2019( Windows フォーム アプリケーション (.NET Framework) )
・MySQL
現在のコードは以下の通りです。
c#
1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Linq; 7using System.Text; 8using System.Threading.Tasks; 9using System.Windows.Forms; 10using MySql.Data.MySqlClient; 11using MySql.Data; 12 13namespace AddressBook 14{ 15 public partial class frmAddressList : Form 16 { 17 public frmAddressList() 18 { 19 InitializeComponent(); 20 } 21 22 private void frmAddressList_Load(object sender, EventArgs e) 23 { 24 string server = "localhost"; 25 string database = "dbaddress"; 26 string user = "root"; 27 string pass = "Maron1207"; 28 string charset = "utf8"; 29 string connectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3};Charset={4}", server, database, user, pass, charset); 30 31 MySqlConnection con = new MySqlConnection(connectionString); 32 33 DataTable dt = new DataTable(); 34 35 try 36 { 37 con.Open(); 38 MySqlDataAdapter adapter = new MySqlDataAdapter("select * from d_contactinformation", con); 39 adapter.Fill(dt); 40 grdList.DataSource = dt; 41 } 42 finally 43 { 44 con.Close(); 45 } 46 } 47 48 private void btnSearch_Click(object sender, EventArgs e) 49 { 50 string txtkey = txtKeyword.Text; 51 string server = "localhost"; 52 string database = "dbaddress"; 53 string user = "root"; 54 string pass = "Maron1207"; 55 string charset = "utf8"; 56 string connectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3};Charset={4};", server, database, user, pass, charset); 57 58 MySqlConnection con = new MySqlConnection(connectionString); 59 60 DataTable dt = new DataTable(); 61 62 try 63 { 64 con.Open(); 65 MySqlDataAdapter adapter = new MySqlDataAdapter("select * from d_contactinformation where fullname like '%txtkey%'", con); 66 adapter.Fill(dt); 67 grdList.DataSource = dt; 68 } 69 finally 70 { 71 con.Close(); 72 } 73 } 74 } 75}
frmAddressList_LoadはMySQLと接続させてテーブルを表示させています。(これは動きました)
btnSearch_Clickは記述方法がわからないので仮にfullnameのフィールドに限定して検索をかけようとしましたが、検索ボタンを押しても下のようになります。(記述が間違っているのは承知です)
発生している問題・エラーメッセージ
visual studio上ではこのように出ます。↓
補足
説明文に不足があった場合は申し訳ございません。すぐに編集いたします。
初心者で基礎的なこともできていないと思いますが、どうかご教授いただけますと幸いです。


回答2件
あなたの回答
tips
プレビュー