Neeraj Kumar Ответов: 1

У меня есть БД, которая содержит 5-6 данных для пары данных, то есть, если я выберу x и y из полей со списком, я получу расстояние по времени и т. д.


Моя проблема заключается в том, что когда я выбираю Бангалор и Мумбаи из 2 разных combobox, я получаю выходные данные как отдельные данные / отдельные данные из БД, в то время как я дал серверные данные в базе данных, и это дает только один. например, у меня есть несколько рейсов из Бангалора в Мумбаи с разными таймингами, поэтому мне нужна помощь, чтобы отобразить все тайминги.

Что я уже пробовал:

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{

    SqlConnection con = new SqlConnection("Data Source=.;AttachDbFilename=C:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\enq.mdf;Integrated Security=True;Connect Timeout=30");
    con.Open();
    String str = "select * from Air where Air_To = '" + comboBox2.Text + "'and Air_From = '" + comboBox1.Text + "'";
    SqlCommand cmd = new SqlCommand(str, con);
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.Read())
    {
        textBox1.Text = dr["Air_dist"].ToString();
        richTextBox1.Text = dr["Air_departure"].ToString();

    }

_Asif_

можете ли вы поделиться своей структурой таблицы и образцами данных?

Richard MacCutchan

Нет, это ваш код, который извлекает только один из возвращенного результирующего набора.

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

Цитата:
мне нужна помощь, чтобы отобразить все тайминги.


Если вы хотите отобразить более одной строки из таблицы sql, то вам следует Gridview или repeater Управление, а не текстовое поле.

из кода
Форматирование строки sql-запроса уязвимый к SQL-инъекция[^] атаки
всегда использовать Параметризованные запросы для предотвращения атак SQL-инъекций в SQL Server[^]

заменить SqlDataReader с SqlDataAdapter и привязать его к элементу управления Gridview или ретранслятором