У меня есть этот код функционируя, но с единственным DropDownList, который ищет меня из-за "Отметки".Yo, также я хочу, чтобы он искал меня из-за "Типа".
SqlDataAdapter da =
new SqlDataAdapter("SELECT * FROM Autos WHERE Marca like '" +
DropDownListMarcas.SelectedItem.Text + "%'", conn);
Я хочу использовать это с двумя dropdownlist.
Помоги porfavor.
Если то, что ты хочешь, состоит в том, чтобы твоя консультация искала тебе из-за Мараку и Тип одновременно , deberГ-схвати делать следующее:
SqlDataAdapter da =
new SqlDataAdapter("SELECT * FROM Autos " +
"WHERE Marca like '" + DropDownListMarcas.SelectedItem.Text + "%' " +
"AND Tipo like '" + DropDownListTipos.SelectedItem.Text + "%' "
, conn);
Это ты devolverГ - в Дела Отметки и Типа, который ты выбрал бы в двух DropDownList.
Ты должен использовать параметры в query, это наихудшая практика прилагать в string такие
string query = @"SELECT * FROM Autos
WHERE Marca like @marca + '%'
OR Tipo like @tipo + '%'";
SqlCommand cmd = new SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@marca", DropDownListMarcas.SelectedItem.Text);
cmd.Parameters.AddWithValue("@tipo", DropDownListTipos.SelectedItem.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
как края объединяет параметр с групповым символом %
, чтобы показывать, что он начался с этим выбором, если ты хочешь искать где угодно, ты использовал бы '%' + @marca + '%'
, Но я снова отмечаю снова используй всегда параметры
Sql Injection
es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL у , кроме того, что код не остается многословным и иметь проблемы с типами данных
– Leandro Tuttini
06.11.2019, 11:28