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

时间:2010-05-11 10:28:15

标签: 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.

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

2 个答案:

答案 0 :(得分:4)

您应该仔细查看.mdb文件here

的ADO.NET操作

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

string connString = "Microsoft.Jet.OLEDB.4.0;Data Source=C:\\bd1.mdb";

下一步是准备您的查询

string query = "SELECT Cameras FROM Cameras";

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

OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);

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

DataTable source = new DataTable();

将数据填入您的来源

dAdapter.Fill(source);

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

combobox.DataSource = source;

请勿忘记您应该在Combobox项目中显示哪个字段

combobox.DataTextField = "Cameras";//from query

答案 1 :(得分:0)

可能想要将值元素添加到组合框中,这样您就可以链接回摄像机ID。尝试将查询更改为:

SELECT CameraID, Cameras From Camers

然后将cameraID添加到值成员

combobox.valuemember = "cameraID"

combobox.displaymember = "Cameras"