Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用SQL值动态填充listbox_C#_Arrays_Data Binding_Listbox - Fatal编程技术网

C# 如何使用SQL值动态填充listbox

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

我是C初学者。我试图做的是从SQL数据库中的列中提取数据并将其写入列表框。基本上,我希望表的part_num列中的数据在列表框中动态显示

我看到:

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"; 
        }