У меня есть текстовое поле поиска.Когда пользователь вводит текст, я хочу автоматически заполнить dataGridView.Но txtSearch.Text всегда показывает "".Как мне решить эту проблему?
Если в 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!");
}
}
}