簡體   English   中英

如何從C#中的Access數據庫填充ComboBox

[英]How to Populate ComboBox from access db in C#

我有下一個組合框:

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.

我想更改它並從數據庫中獲取值。 我的數據庫名稱為bd1.mdb,在“相機”表中它具有以下字段:CamID,相機,保修,年份。 我只對“相機”字段感興趣。 謝謝!

您應該在這里仔細查看ADO.NET與.mdb文件的操作

首先,准備您的連接字符串

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.DataTextField = "Cameras";//from query

可能想以這種方式將valuemember添加到組合框,以便可以鏈接回相機ID。 嘗試將查詢更改為:

SELECT CameraID, Cameras From Camers

然后將cameraID添加到value成員

combobox.valuemember = "cameraID"

combobox.displaymember = "Cameras"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM