Member 13084733 Ответов: 2

Как заполнить поле со списком данными базы данных


Привет Ребята
вы можете мне помочь с этим

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

private void button1_Click(object sender, EventArgs e)
      {
          {
              comboBox2.Enabled = true;
              string klijent = comboBox1.Text;
              CON.Open();
              string sqlquery = "SELECT Naziv FROM [Dobavljaci_" + klijent + "] WHERE NazivFirme = '" + klijent + "'";
              SqlCommand cmd = new SqlCommand(sqlquery, CON);
              SqlDataAdapter da = new SqlDataAdapter(sqlquery, CON);
              DataSet ds = new DataSet();
              da.Fill(ds);
              cmd.ExecuteNonQuery();
              comboBox2.DisplayMember = "Naziv";
              comboBox2.ValueMember = "Naziv";
              comboBox2.DataSource = ds;
          }
          {
              string klijent = comboBox1.Text;
              string sqlquery1 = "SELECT stopa FROM NKlijent WHERE NazivFirme='" + klijent + "'";
              CMD = new SqlCommand(sqlquery1, CON);
              SqlDataReader sdr1 = CMD.ExecuteReader();
              while (sdr1.Read())
              {
                  label1.Text = sdr1["stopa"].ToString();
              }
              CON.Close();
          }

На Label7 я получаю значение из базы данных, но на combobox я получаю это
System.Data.DataViewManagerListItemTypeDescriptor

2 Ответов

Рейтинг:
14

Karthik_Mahalingam

пробовать

comboBox2.DataSource = ds.Tables[0];


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


Рейтинг:
1

Patrice T

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь уязвимости под названием "SQL injection", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа рухнет. Если пользователь вводит имя типа "Брайан О'Коннер", это может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция-Википедия[^]
SQL-инъекция[^]