前提・実現したいこと
MySQL上にあるテーブルの値(name)と部分一致する行データを取得し、GridViewに表示させたいと思っています。
Webフォームには、GridView、テキストボックス、ボタンが配置されており、検索したい文字列をテキストボックスに入力後ボタンを押下することで、部分一致したもののみをGridViewに表示させるものです。
パラメータを使用せず、クエリに直接検索したい文字列を入力すると成功するのですが、パラメータを使用するとエラーも出ず表示もできないため、上手くいかず。。
パラメータの渡し方が悪いのか、取得の仕方が悪いのか、ともかく、部分一致したデータのみをテーブルとして取得するにはどのようにしたらよいのでしょうか。
該当のソースコード
protected void Button5_Click(object sender, EventArgs e) //検索 { DataTable dt = new DataTable(); var query = "SELECT name, no1, no2 FROM sample WHERE name LIKE '%SearchName = @SearchName%'"; using (var connection = new MySqlConnection(Common.connString)) { using (var command = new MySqlCommand(query, connection)) { command.Parameters.Add("@SearchName", MySqlDbType.String); command.Parameters["@SearchName"].Value = TextBox4.Text; connection.Open(); command.ExecuteNonQuery(); } var adapter = new MySqlDataAdapter { SelectCommand = new MySqlCommand(query, connection) }; adapter.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); } }
補足情報(FW/ツールのバージョンなど)
ASP.NET
VisualStudio2019
.NETFramework4.7.2
MySQL
C#
回答1件
あなたの回答
tips
プレビュー