Ado.net проблема combobox
Я хочу выбрать из первого выпадающего списка номер поезда и во второй комбобокс дай мне повозку, поезда (номер вагона ) я сделал базу: что первой таблице хранятся идентификатор поезд и во второй таблице хранятся вагон идентификатор + идентификатор железнодорожного внешний ключ я попытался этот код и свою работу, но когда я выбрать другой ID не меняется вагона комбобокс результат
Что я уже пробовал:
adapter = new SqlDataAdapter("select * from train", cn); SqlCommand cmd = new SqlCommand("select * from train", cn); cmd.Parameters.Clear(); adapter.Fill(ds, "train"); comboBox1.DataSource = ds.Tables["train"]; comboBox1.DisplayMember = "id"; comboBox1.ValueMember = "id"; adapter = new SqlDataAdapter("select id_w from wagon where id='" + comboBox1.SelectedValue + "'", cn); adapter.Fill(ds, "wagon"); // adapter1.SelectCommand.Parameters.Clear(); comboBox2.DataSource = ds.Tables["wagon"]; comboBox2.DisplayMember = "id_w"; comboBox2.ValueMember = "id_w";
Maciej Los
А какой у тебя вопрос?
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
adapter = new SqlDataAdapter("select id_w from wagon where id = @id", cn); adapter.SelectCommand.Parameters.AddWithValue("@id", comboBox1.SelectedValue);