我有下一个组合框:
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。我只对“相机”字段感兴趣。 谢谢!
答案 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"
。