C# 在C中从SQL填充组合框#

C# 在C中从SQL填充组合框#,c#,combobox,C#,Combobox,我试图从sql填充我的组合框,但当我为其分配值成员时,它会给我以下错误 cannot explicitly convert int into string 你能帮我理解并改正我的错误吗 void Fillcombo() { string query_select = "SELECT * FROM department"; DataTable dt = DataAccess.selectData(query_select); Sql

我试图从sql填充我的组合框,但当我为其分配值成员时,它会给我以下错误

cannot explicitly convert int into string
你能帮我理解并改正我的错误吗

 void Fillcombo()
    {
         string query_select = "SELECT * FROM department";
         DataTable dt = DataAccess.selectData(query_select);
         SqlDataReader dr = DataAccess.selectDataReader(query_select);
         while (dr.Read())
            {
                string dpt_name = dr.GetString(1);
                int dpt_id = (int)dr.GetValue(0);
                comboBox1.DataSource = dt;
                comboBox1.ValueMember = dpt_id; // error here
                comboBox1.DisplayMember = dpt_name;

            }
    }

您必须将
DataSource
DataTable
)中列的名称指定给
ValueMenmber
DisplayMember
作为字符串,并且不需要使用while循环,如下所示:

void Fillcombo()
{
    string query_select = "SELECT * FROM department";
    DataTable dt = DataAccess.selectData(query_select);
    comboBox1.DataSource = dt;
    comboBox1.ValueMember = "ColumnName_DepartmentID";
    comboBox1.DisplayMember = "ColumnName_DepartmentName";
}

您应该以字符串格式编写:

comboBox1.ValueMember = "dpt_id";

您不需要使用while循环式答案。很高兴听到这个!也谢谢你:)