поле со списком .ValueMember не работает для меня

Вызов значения базы данных в поле со списком для DisplayMember и ValueMember , но свойство ValueMember здесь не работает .......

        sql = "select NAME_DESC,ACCOUNT_CODE from ACCOUNT_CONTROLS ORDER by 
        NAME_DESC"


        cmd = New OracleCommand(sql, sgcnn)
        adapter.SelectCommand = cmd
        adapter.Fill(ds)
        adapter.Dispose()
        cmd.Dispose()


        CmbConAcc.DataSource = ds.Tables(0)
        CmbConAcc.DisplayMember = "NAME_DESC"
        CmbConAcc.ValueMember = "ACCOUNT_CODE"

   

--- попытка вставить данные ValueMember в базу данных

Dim cmd As OracleCommand = New OracleCommand()

    cmd.CommandText = "INSERT INTO ACCOUNT_HEADS (HEAD_CODE,NAME_DESC,ACCOUNT_CODE,REMARKS)" &
                          "values( trim(" & TxtAccCode.Text & "),trim(' " & TxtNDesc.Text & " '),trim(' " & CmbConAcc.ValueMember & " '),trim(' " &
                          txtRemarks.Text & " ')) "

person Ejaz Sarwar    schedule 29.06.2018    source источник
comment
В качестве дополнительного примечания, пожалуйста, используйте параметры SQL, так как ваш текущий метод открыт для SQL-инъекции, что не является чем-то, чем вы хотите рисковать.   -  person Bugs    schedule 29.06.2018


Ответы (1)


Если вы установите ValueMember здесь:

CmbConAcc.ValueMember = "ACCOUNT_CODE"

почему вы ожидаете получить что-то еще, кроме этого?

ValueMember — это имя свойства/столбца источника данных. Когда пользователь делает выбор, значение этого свойства/столбца SelectedItem отображается свойством SelectedValue. Это то, что вам нужно использовать.

Это то, что демонстрирует пример кода в документации для свойства ValueMember, и именно поэтому вы должны ВСЕГДА читать документацию. В VS есть меню справки по какой-то причине.

person jmcilhinney    schedule 29.06.2018