Как выбирать данные двух dropdown?

У меня есть этот код функционируя, но с единственным DropDownList, который ищет меня из-за "Отметки".Yo, также я хочу, чтобы он искал меня из-за "Типа".

SqlDataAdapter da = 
  new SqlDataAdapter("SELECT * FROM Autos WHERE Marca like '" + 
  DropDownListMarcas.SelectedItem.Text + "%'", conn);

Я хочу использовать это с двумя dropdownlist.

Помоги porfavor.

0
задан 05.11.2019, 04:08
2 ответа

Если то, что ты хочешь, состоит в том, чтобы твоя консультация искала тебе из-за Мараку и Тип одновременно , deberГ-схвати делать следующее:

SqlDataAdapter da =
           new SqlDataAdapter("SELECT * FROM Autos " + 
                              "WHERE Marca like '" + DropDownListMarcas.SelectedItem.Text + "%' " + 
                              "AND Tipo like '" + DropDownListTipos.SelectedItem.Text + "%' "
                              , conn);

Это ты devolverГ - в Дела Отметки и Типа, который ты выбрал бы в двух DropDownList.

2
ответ дан 01.12.2019, 12:46
  • 1
    Как кажется, моя ошибка состояла в том, что не было знака +, но спасибо. – luis 05.11.2019, 04:27

Ты должен использовать параметры в 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 + '%'

, Но я снова отмечаю снова используй всегда параметры

1
ответ дан 01.12.2019, 12:46
  • 1
    Я понимаю. Но.....¿ Porqué это одна " pé sima" prá ctica это? – luis 06.11.2019, 05:20
  • 2
    Потому что, приложив стоимость, может быть уязвимость, известная в качестве Sql Injection es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL у , кроме того, что код не остается многословным и иметь проблемы с типами данных – Leandro Tuttini 06.11.2019, 11:28