Извлечение соответствующего внешнего ключа с помощью выпадающего списка (WCF) C#

#c# #sql-server #wcf #visual-studio-2015 #combobox

#c# #sql-сервер #wcf #visual-studio-2015 #combobox

Вопрос:

Я использую службы WCF для загрузки таблицы моей базы данных в выпадающий список (combobox). Как мне извлечь выбранное значение в соответствующее значение в таблице, чтобы при выборе элемента соответствующее int значение было вставлено в таблицу?

Вот мой код для уровня рабочего стола:

    private void Save()
    {
        if (ValidateForm())
        {
            try
            {
                IHotRes res = new MHotServiceProvider().Service;
                Customer customer = res.SaveCustomer(txtFirstName.Text, txtLastName.Text, dtpDOB.Value, txtAddress.Text, txtPostCode.Text, txtPhone1.Text, txtPhone2.Text, txtEmailAddress.Text, ddlGender.SelectedIndex); // all other work just don't know how to get the ddlGender

                MessageBox.Show("Data has been inserted to the table");

            }
            catch (Exception ex)
            {
                MessageHelper.ShowErrorMessage(ex);
            }
        }
    }
  

Если вам нужна дополнительная информация или пример кода, пожалуйста, прокомментируйте ниже. (Возможно, процедура нуждается в редактировании, если да, пожалуйста, дайте мне знать, я добавлю код процедуры).

РЕДАКТИРОВАТЬ: вот как я заполняю ddlGender:

 IHotRes res = new MHotServiceProvider().Service;
List<Genders> gender = res.GetGenderList();
ddlGender.ValueMember = "GenderId";
ddlGender.DisplayMember = "Gender";
ddlGender.DataSource = gender;
  

Комментарии:

1. Как вы заполняете ddlGender?

2. @Sefa Я добавил код.

Ответ №1:

Поскольку вы используете

 ddlGender.ValueMember = "GenderId";
  

Вызов свойства SelectedValue дает идентификатор выбранного пола.

В моем приведенном ниже коде я предположил, что GenderId равен int . Если нет, измените тип соответствующим образом.

 Customer customer = res.SaveCustomer(txtFirstName.Text, txtLastName.Text, dtpDOB.Value, txtAddress.Text, txtPostCode.Text, txtPhone1.Text, txtPhone2.Text, txtEmailAddress.Text, (int)ddlGender.SelectedValue); 
  

Комментарии:

1. извините, вы правы, спасибо (забыл изменить SelectedIndex на selectedValue )