如何使用SQL值动态填充列表框

And*_*est 4 c# arrays data-binding listbox

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

我见过:

this.listParts.Items.AddRange(new object[] {"Part1", "Part2"});
Run Code Online (Sandbox Code Playgroud)

但是,如何用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"});
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

Mit*_*dir 9

为什么不使用DataTableas DataSource:

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"; 
        }
Run Code Online (Sandbox Code Playgroud)

您应该阅读DataSets甚至更好的EntityFramework数据绑定.

  • 你不需要.只需指定DisplayMember,例如DisplayMember ="part_num". (2认同)