Mengisi ComboBox Dengan Data Dari Database

Mengisi ComboBox Dengan Data Dari Database VB.net C#

<p><a href="http://pojokprogrammer.net/tags/programming"><strong>Belajar Programming</strong></a> | Salah satu hal yang amat sangat umum dalam membuat sebuah aplikasi VB.net atau C# adalah mengisi ComboBox dengan berdasarkan data yang ada di database. Sebenarnya hal ini sangat simple namun bagi para programmer bisa jadi merupakan hal yang sangat sulit :) Cara yang paling mudah adalah dengan menggunakan <a href="http://pojokprogrammer.net/tags/data-binding"><strong>metoda data-binding </strong></a>sehingga kita bisa menghilangkan dan menghapus code <strong>iterasi yang melelahkan </strong>saat mengisi data ke combobox bersangkutan. Langkah-langkah atau algoritma dasarnya adalah sebagai berikut:</p>
<!--break-->
<ul>
<li>
Siapkan koneksi database</li>
<li>
Siapkan perintah SQL</li>
<li>
Siapkan variable penampung data (bisa DataTable atau DataSet)</li>
<li>
Ambil data dari database, masukkan ke DataTable</li>
<li>
Binding data di DataTable ke ComboBox</li>
</ul>
<p>Algortima yang sederhana di atas ketika <strong>kita terjemahkan ke dalam VB.net </strong>akan seperti ini,</p>
<pre class="brush:vbnet">
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
InitializeComboBox()
End Sub

Private Sub InitializeComboBox()
&#39; siapkan koneksi database
Dim cn As New SqlConnection(My.Settings.LocalDatabase)
&#39; siapkan data adapter untuk data retrieval
Dim da As New SqlDataAdapter(&quot;select account_id, description from acc_accounts&quot;, cn)
&#39; siapkan datatable untuk menampung data dari database
Dim dt As New DataTable
&#39; enclose in try-catch block
&#39; untuk menghindari crash jika terjadi kesalahan database
Try
&#39; ambil data dari database
da.Fill(dt)
&#39; bind data ke combobox
ComboBox1.DataSource = dt
ComboBox1.ValueMember = &quot;account_id&quot;
ComboBox1.DisplayMember = &quot;description&quot;
&#39; DONE!!!
Catch ex As Exception
&#39; tampilkan pesan error
MessageBox.Show(ex.Message)
End Try
End Sub

End Class
</pre>
<p>Sedangkan jika kita <strong>terjemahkan ke dalam C# </strong>akan menjadi seperti ini,</p>
<pre class="brush:csharp">
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace ComboBoxSample2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitializeComboBox();
}
private void InitializeComboBox()
{
// siapkan koneksi database
SqlConnection cn = new SqlConnection(ComboBoxSample2.Properties.Settings.Default.LocalDatabase);
// siapkan data adapter untuk data retrieval
SqlDataAdapter da = new SqlDataAdapter(&quot;select account_id, description from acc_accounts&quot;, cn);
// siapkan datatable untuk menampung data dari database
DataTable dt = new DataTable();
// enclose in try-catch block
// untuk menghindari crash jika terjadi kesalahan database
try
{
// ambil data dari database
da.Fill(dt);
// bind data ke combobox
ComboBox1.DataSource = dt;
ComboBox1.ValueMember = &quot;account_id&quot;;
ComboBox1.DisplayMember = &quot;description&quot;;
// DONE!!!
}
catch (Exception ex)
{
// tampilkan pesan error
MessageBox.Show(ex.Message);
}
}
}

}
</pre>
<p>Jika <strong>data </strong>yang ada <strong>di database </strong>seperti ini,</p>
<p><img alt="Mengisi ComboBox Dengan Data Dari Database VB.net c#" src="/images/tutorial/dotnet/dropdown-data.png" style="width: 700px; height: 410px;" /></p>
<p>Maka <strong>tampilan aplikasinya </strong>jadi seperti ini,</p>
<p><img alt="Mengisi ComboBox Dengan Data Dari Database VB.net c#" src="/images/tutorial/dotnet/dropdown-form.png" style="width: 604px; height: 529px;" /></p>
<p>Semoga berguna.... Happy Coding&nbsp;</p>
<p>&nbsp;</p>
<p>^_^</p>