如何从 C# 中的访问数据库填充 ComboBox

0 c# database combobox

我有下一个组合框:

this.comboBoxProd.Enabled = false;
this.comboBoxProd.FormattingEnabled = true;
this.comboBoxProd.Items.AddRange(new object[] {
            "Cameras",
            "------------",
            " Digital IXUS 850 IS ",
            " Digital IXUS 900 Ti ",
            " Digital IXUS 75 -NEW- ",
            " Digital IXUS 70 -NEW- ", etc.
Run Code Online (Sandbox Code Playgroud)

我想更改它并从数据库中获取值。我的数据库名称是 bd1.mdb,在表 Cameras 中有以下字段:CamID、Cameras、Warranty、Year。我只对“相机”领域感兴趣。谢谢!

Myr*_*yra 5

您应该在此处仔细查看带有 .mdb 文件的 ADO.NET 操作

首先,准备你的连接字符串

string connString = "Microsoft.Jet.OLEDB.4.0;Data Source=C:\\bd1.mdb";
Run Code Online (Sandbox Code Playgroud)

下一步是准备您的查询

string query = "SELECT Cameras FROM Cameras";
Run Code Online (Sandbox Code Playgroud)

您将需要一个适配器来绑定数据源,在您的情况下它是OleDbDataAdapter

OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
Run Code Online (Sandbox Code Playgroud)

现在您可以使用DataTable对象绑定到组合框

DataTable source = new DataTable();
Run Code Online (Sandbox Code Playgroud)

将数据填充到您的源中

dAdapter.Fill(source);
Run Code Online (Sandbox Code Playgroud)

您的来源充满了相机,现在您可以参考您的组合框控件

combobox.DataSource = source;
Run Code Online (Sandbox Code Playgroud)

不要忘记您应该在组合框项目中显示哪个字段

combobox.DataTextField = "Cameras";//from query
Run Code Online (Sandbox Code Playgroud)