【问题标题】:how to get ID of a Auto-populated combobox from a database?如何从数据库中获取自动填充组合框的 ID?
【发布时间】:2015-01-31 01:54:59
【问题描述】:

例如,我有一个包含 2 个表的数据库:

tblOrder              
OrderID <PK> Auto-Increment          
CustomerID <FK>       
Date    

tblCustomer   
CustomerID <PK> Auto-increment
CustomerName

然后我在订单表格中填写了comboboxCustomerName

 query = "select * from database.tblCustomer"
        con.open
        dr = New MySqlCommand(query, con).ExecuteReader
        While dr.Read()
            cmbSupplier.Items.Insert(dr.GetString("CustomerName")
        End While

我需要知道如何从选定的customerName 中获取customerID,以便将其插入表格中。

【问题讨论】:

    标签: mysql vb.net combobox insert auto-increment


    【解决方案1】:

    您应该只检索所需的字段,然后将查询结果分配给组合框的DataSource 属性。然后将DisplayMemberValueMember 属性设置为相关列的名称

        query = "select CustomerID, CustomerName from database.tblCustomer"
        con.open
        dr = New MySqlCommand(query, con).ExecuteReader
        Dim dt = new DataTable()
        dt.Load(dr)
        cmbSupplier.DisplayMember = "CustomerName"
        cmbSupplier.ValueMember = "CustomerID"
        cmbSupplier.DataSource = dt
    

    此后,检索 CustomerID 只需读取 SelectedValue 属性
    (不要忘记检查组合中是否选择了某些东西)

       if cmbSupplier.SelectedValue IsNot Nothing Then
           Dim custID = Convert.ToInt32(cmbSupplier.SelectedValue)
       End If
    

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多