组合框.ValueMember对我不起作用

时间:2018-06-29 10:20:02

标签: database vb.net combobox insert 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数据插入数据库

将cmd设置为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 & " ')) "

1 个答案:

答案 0 :(得分:1)

如果在此处设置ValueMember

CmbConAcc.ValueMember = "ACCOUNT_CODE"

您为什么希望得到除此以外的任何东西?

ValueMember是数据源的属性/列的名称。当用户进行选择时,SelectedItem属性将显示SelectedValue的该属性/列中的值。这就是您需要使用的。

这就是ValueMember属性的文档中的代码示例所演示的,这就是为什么您应该始终阅读文档。 VS有一个帮助菜单。