填充项并从 C# 中的数据库为 comboBox 赋值

本文关键字:数据库 comboBox 赋值 填充 | 更新日期: 2023-09-27 18:30:26

我正在尝试从数据库中检索记录并将它们分配给comboBox。我只这样做了,但是当我尝试从组合框中选择任何人时,我总是会得到组合框中最后一条记录的值。请帮助我。这是我的代码。

        command = new SqlCommand("Select supplier_id, supplier_name from tbl_supplier", MySqlConnection);
        m_dr = command.ExecuteReader();
        while (m_dr.Read())
        {
            comboBoxSupplier.Items.Add(m_dr["supplier_name"].ToString());
            comboBoxSupplier.ValueMember = (m_dr["supplier_id"].ToString());
            comboBoxSupplier.DisplayMember = (m_dr["supplier_name"].ToString());
        }
        m_dr.Close();

填充项并从 C# 中的数据库为 comboBox 赋值

链接问题的答案:从数据库填充组合框

cmbTripName.ValueMember = "supplier_id";cmbTripName.DisplayMember = "supplier_name";

指向循环外部的列。(我试过这个,它对我有用)

DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
int count = 0;
foreach (datarow row in dt)
{
    count += 1;
    comboBoxSupplier.Items.Add(dt[count]["supplier_name"].ToString());   
}