填充组合框从SQL在C#
问题描述:
我试图从SQL填充我组合框但是当我的值成员分配给它,它给了我下面的错误填充组合框从SQL在C#
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回答。 –
ohh yess ..它正在工作.. Thankx很多... –