C# 如何使用SQL值动态填充listbox
我是C初学者。我试图做的是从SQL数据库中的列中提取数据并将其写入列表框。基本上,我希望表的part_num列中的数据在列表框中动态显示 我看到:C# 如何使用SQL值动态填充listbox,c#,arrays,data-binding,listbox,C#,Arrays,Data Binding,Listbox,我是C初学者。我试图做的是从SQL数据库中的列中提取数据并将其写入列表框。基本上,我希望表的part_num列中的数据在列表框中动态显示 我看到: this.listParts.Items.AddRange(new object[] {"Part1", "Part2"}); 但我如何用SQL动态生成的值替换“Part1”和“Part2” public mainForm() { InitializeComponent(); SqlConnection conn = new Sql
this.listParts.Items.AddRange(new object[] {"Part1", "Part2"});
但我如何用SQL动态生成的值替换“Part1”和“Part2”
public mainForm()
{
InitializeComponent();
SqlConnection conn = new SqlConnection(
"Data Source=DBELL;Initial Catalog=part_table;Integrated Security=True");
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT part_num from customParts", conn);
adapter.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
this.listParts.Items.AddRange(new object[] {"Part1", "Part2"});
}
}
感谢您的帮助 为什么不将DataTable用作数据源:
您应该阅读数据集,甚至更好的是EntityFramework和数据绑定。直接绑定到DataTable。顺便说一句,当SqlConnection实现IDisposable时,您应该查看using语句,并将数据绑定代码移到它自己的方法中。好的,这看起来简单多了,但是当我部署它时,我看到的是System.Data.DataRowView,而不是数据库值。我必须把东西转换成字符串吗?你不需要。只需指定DisplayMember,例如DisplayMember=part_num.Ahh,看起来就像我意外地切断了部分代码。现在大家都在工作,非常感谢大家的帮助!
public mainForm()
{
InitializeComponent();
SqlConnection conn = new SqlConnection("Data Source=DBELL;Initial Catalog=part_table;Integrated Security=True");
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT part_num from customParts", conn);
adapter.Fill(ds);
this.listParts.DataSource = ds.Tables[0];
this.listParts.DisplayMember = "part_num";
}