Вот код, который я использую для поиска, он возвращает значение, когда мы вводим целое имя, но мне нужно текстовое поле автозаполнения, которое показывает предложения при вводе имени.Как сделать автозаполнение в текстовом поле wpf?
private void textBox3_KeyUp_1(object sender, System.Windows.Input.KeyEventArgs e)//Name Search
{
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select [Patient ID],[Patient Name],[Gender],[StudyDateTim],[Modality],[Study Name] From RepView Where [Patient Name] like '%" + textBox3.Text + "%'";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
dataGrid1.ItemsSource = dt.DefaultView;
con.Close();
}
Вам не нужно 'ExecuteNonQuery' в ваш случай. И вы всегда должны использовать [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Также используйте _using statement_ для удаления соединений с базой данных. –
@ SonerGönül: Но я не знаю, как код – Ramji21
@ Ramji21: научиться кодировать в этом случае. Мое намерение не должно быть жестким, но не ожидайте создания хорошей программы, если у вас нет минимального понимания того, что вы делаете. –