Member 14093832 Ответов: 2

Значения поля со списком Sql


Привет.

Что мне нужно, так это поле со списком, чтобы показать все значения столбца из моей базы данных SQL. Эта часть работает. Мне нужно, чтобы выбранное значение было не именем, а идентификатором элемента.

string conString = @"CONNECTION STRING HERE; Password = PWD";
            SqlConnection conn = new SqlConnection(conString);
            DataSet ds = new DataSet();
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("select * from Devices", conn);
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                da.Fill(ds);
                
                comboBox1.DisplayMember = "Address";
                comboBox1.ValueMember = "ID";
                comboBox1.DataSource = ds.Tables[0];
                label7.Text = comboBox1.ValueMember;
            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }


Адрес отображается в комбинированном списке, но, похоже, значение по-прежнему является текстом, а не идентификатором.

Что я сделал не так?

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

comboBox1.DisplayMember = "Address";
                comboBox1.ValueMember = "ID";

2 Ответов

Рейтинг:
2

PRAKASH9

Just write down like
label7.Text = comboBox1.Text;


Member 14093832

Спасибо за ответы. Это не текстовое значение, которое мне нужно, это значение идентификатора.

В базе данных есть два столбца & lt;ID и Address. Мне нужно, чтобы адреса были значением, показанным в comboboxes. Однако выбранное значение должно быть значением идентификатора соответствия адреса в той же строке SQL.

Рейтинг:
18

Wendelius

Вместо того чтобы извлекать ValueMember, попробуйте использовать Элементе управления listcontrol.Свойство SelectedValue (System.Окна.Формы) | Microsoft Docs[^]

Например

label7.Text = comboBox1.SelectedValue.ToString();

Не забудьте проверить был ли сделан выбор путем исследования например комбинированный список.Свойство SelectedIndex (System.Окна.Формы) | Microsoft Docs[^]


Member 14093832

Спасибо за ответы. Это не текстовое значение, которое мне нужно, это значение идентификатора.

В базе данных есть два столбца & lt;ID и Address. Мне нужно, чтобы адреса были значением, показанным в comboboxes. Однако выбранное значение должно быть значением идентификатора соответствия адреса в той же строке SQL.

Member 14093832

Жаль, что это сработало! Спасибо!

Wendelius

Всегда пожалуйста!

Member 14093832

Привет, еще один вопрос, если вы не возражаете. Это работает, когда моя форма впервые загружается и метка меняется на идентификатор. Однако, когда я изменяю выделение в выпадающем списке, значение не меняется. есть предложения?

Member 14093832

Фактически если я использую тот же метод на кнопке отправки значение автоматически изменяется обратно к значению combobox было загружено

Member 14093832

добавлен
label7.Text = comboBoxCustomer.Выбранное значение.Метод toString();
к моей кнопке отправки. В идеале я хочу, чтобы это работало, когда выбор сделан в списке до нажатия кнопки

Member 14093832

Получил его добавил ту же строку в выбранный индекс изменил