文本框自动搜索
本文关键字:搜索 文本 | 更新日期: 2023-09-27 18:18:51
我有一个'search'文本框。当用户输入文本时,我想自动填充dataGridView。但txtSearch。文本总是显示"。怎么解呢?
如果txtSearch中没有文本,则dataGridView必须显示所有数据。
这是代码:
private void txtSearch_TextChanged(object sender, EventArgs e)
{
//grid.Rows.Clear();
OleDbDataReader dr = default(OleDbDataReader);
using (OleDbConnection cn = new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ Application.StartupPath + "''MyAcsessDb.accdb"))
{
cn.Open();
OleDbCommand cmd = new OleDbCommand(
"Select * FROM Student WHERE [Name] Like '%@Name%' ", cn);
cmd.Parameters.Add("@Name", OleDbType.Char).Value = txtSearch.Text;
dr = cmd.ExecuteReader();
if (dr.HasRows == true)
{
while (dr.Read())
{
grid.Rows.Add(dr[0].ToString(),
dr[1].ToString(),
dr[2].ToString(),
dr[3].ToString());
}
}
else
{
MessageBox.Show("No Data!");
}
}
}
将jolly字符放在参数外:
cmd.Parameters.Add("@Name", OleDbType.Char).Value = "%" + txtSearch.Text + "%";