2010-05-11 2 views
0

У меня есть следующий выпадающий:Как занесения ComboBox из БД доступа в 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, Cameras, Warranty, Year. Меня интересует только поле «Фотоаппараты». Спасибо!

ответ

4

Вы должны присмотреться к ADO.NET операций с файлами .mdb here

Во-первых, подготовить строка подключения

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 
+0

мне очень не помогло. я не хочу изменять содержимое базы данных, я хочу добавить к ней контент. –

+0

Извините за неудобства, Bomboe, когда я писал весь ответ, я должен был удалить остальную часть. – Myra

+0

ty, это действительно помогло мне! –

0

Вероятно, хотят добавить ValueMember в выпадающий список таким образом, вы можете связать обратно к идентификатору камеры. Попробуйте изменить запрос:

SELECT CameraID, Cameras From Camers 

Затем добавьте cameraID к элементу значение

combobox.valuemember = "cameraID"

и

combobox.displaymember = "Cameras".

Смежные вопросы