我想在combobox1中存储一次表的列数据吗?这是无效的代码:
SqlCommand cmdRe = new SqlCommand("select FK_RoleID from SO_User_Table", cn);
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
try
{
cn.Open();
da.SelectCommand = cmdRe;
da.Fill(dt);
// textBox1.Text = dt.Rows[0].ItemArray[0].ToString();
this.comboBox1.DisplayMember= "FK_RoleID";
this.comboBox1.ValueMember = "FK_RoleID";
this.comboBox1.DataSource = da;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cn.Close();
}
最佳答案
您需要绑定到表,而不是适配器:
this.comboBox1.DataSource = dt;
另外-如果使用
using
,则可以简化一些代码(不需要finally
等):using(SqlCommand cmdRe = {blah}) {
// {blah}
}
最后一点-随着.NET开发的进行,您可能需要考虑将UI和数据逻辑分开。用相同的方法(甚至是dll)与db-command和ui-control交谈通常是一种代码气味。
关于c# - 在组合框中存储一列数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1778418/