In this example, we’ll learn How to fill/populate ComboBox with Access DB Data.
The listbox will populated from database table using OleDbDataReader.
Step 1: We will use the Category table in Customers .accdb database.
Step 2: We should to put the Customers.accdb file in bin/Debug folder.
Step 3: In the next step, create a ComboBox control at design-time, you simply drag and drop a ComboBox control from Toolbox to a Form in Visual Studio.
Step 4: Write a Namespace for connectivity as in the following code snippet.
1 2 3 |
using System.Data.OleDb; |
Step 5: Define global variables.
1 2 3 4 5 |
OleDbConnection con; OleDbCommand cmd; OleDbDataReader dr; |
Step 6: Create source code for Form_Load.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
private void Form1_Load(object sender, EventArgs e) { this.Text = "csharp-console-examples.com"; this.BackColor = Color.YellowGreen; con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=Customers.accdb"); cmd = new OleDbCommand(); con.Open(); cmd.Connection = con; cmd.CommandText = "SELECT * FROM Category"; dr = cmd.ExecuteReader(); while (dr.Read()) { comboBox1.Items.Add(dr["CategoryName"]); } con.Close(); } |
Here are the all codes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.OleDb; namespace fill_combobox_from_access { public partial class Form1 : Form { OleDbConnection con; OleDbCommand cmd; OleDbDataReader dr; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.Text = "csharp-console-examples.com"; this.BackColor = Color.YellowGreen; con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=Customers.accdb"); cmd = new OleDbCommand(); con.Open(); cmd.Connection = con; cmd.CommandText = "SELECT * FROM Category"; dr = cmd.ExecuteReader(); while (dr.Read()) { comboBox1.Items.Add(dr["CategoryName"]); } con.Close(); } } } |
Output:
WellDone!!