C# 仅返回一项c时的组合框

C# 仅返回一项c时的组合框,c#,C#,我使用SQL命令从数据库中选择数据,我想从表中选择要在combox中读取的数据,但combox似乎只显示一项,而不是该特定列中的所有项 以下是我的sql语句: public void SelectEmployee() { Query = "SELECT Employee_Name FROM TblEmployees"; reader = conn.ExecuteStatement(Query); while

我使用SQL命令从数据库中选择数据,我想从表中选择要在combox中读取的数据,但combox似乎只显示一项,而不是该特定列中的所有项

以下是我的sql语句:

public void SelectEmployee()
        {

            Query = "SELECT Employee_Name FROM TblEmployees";
            reader = conn.ExecuteStatement(Query);
            while (reader.Read())
            {

                ComboBox1.Text = reader["Employee_Name"].ToString();

            }

            conn.CloseConnection();

        }

这样运行很平稳,但组合框只显示一个名称,而不是10个名称。

您在读卡器上循环,但继续将读卡器的当前值指定给组合文本属性,从而覆盖以前的指定

相反,将列Employee_Name的每个值添加到Items集合中,它们将显示在combox的下拉列表中,用户可以选择它们

    public void SelectEmployee()
    {
        Query = "SELECT Employee_Name FROM TblEmployees";
        reader = conn.ExecuteStatement(Query);
        while (reader.Read())
        {
            ComboBox1.Items.Add(reader["Employee_Name"].ToString());
        }
        conn.CloseConnection();
    }

我们不知道ExecuteStatement到底做了什么,但是通过这个while循环,您只将Employee_Name列的最后一个值设置为.Text属性

您可以将其添加为项目,而不是将其作为.Text属性,如

while (reader.Read())
{
    ComboBox1.Items.Add(reader["Employee_Name"].ToString());
}