C#从数据库中获取数据的方法

How to fetch data from database C#

我不确定这些行中哪里做错了。这些代码应该从数据库中获取数据并将其分配到组合框中。但是组合框列表中没有显示任何数据。 我的代码:

public void employeeListCombo()
{

    Employee employeeList = new Employee();

    Dataset employees = employeeList.getAllEmployee();

    foreach(DataRow dr in employees.Tables[0].Rows){

     String   selectedEmp = dr["firstName"].ToString();

        comboEmployee.DataSource = selectedEmp;

    }
    }

因为您似乎想在 ComboBox 上使用 DataBinding,您应该这样做:

public void employeeListCombo()
{
    var employeeList = new Employee();
    var employees = employeeList.getAllEmployee();
    comboEmployee.DataSource = employees.Tables[0].DefaultView;
    comboEmployee.DisplayMember = "firstName";
}

但是,您的原始代码也可以工作:

public void employeeListCombo()
{
    var employeeList = new Employee();
    var employees = employeeList.getAllEmployee();
    if (employees.Tables.Count > 0)
    {
        foreach(DataRow dr in employees.Tables[0].Rows)
        {
            var selectedEmp = dr["firstName"] as String;
            if (!String.IsNullOrEmpty(selectedEmp))
                comboEmployee.Items.Add(selectedEmp);
        }
    }
}

选择取决于您稍后打算如何处理 ComboBox 中的项目。如果您需要获取所选数据而不仅仅是所选字符串,您可能会受益于绑定。否则,第二种方法就可以了。