ComboBox只返回一个项目c#

时间:2014-02-15 23:46:24

标签: c#

我正在使用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();

        }

这样运行顺利,comboBox只显示一个名称,而不是10个名称。

2 个答案:

答案 0 :(得分:2)

您循环阅读器,但继续为组合Text属性分配阅读器的当前值,从而覆盖先前的分配。

相反,将列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();
    }

答案 1 :(得分:0)

我们并不确切知道ExecuteStatement究竟做了什么,但使用此while循环,您只需将Employee_Name列的最后值设置为{{ 1}}属性。

您可以添加为.Text,而不是像Items属性一样;

.Text