
<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()
' siapkan koneksi database
Dim cn As New SqlConnection(My.Settings.LocalDatabase)
' siapkan data adapter untuk data retrieval
Dim da As New SqlDataAdapter("select account_id, description from acc_accounts", cn)
' siapkan datatable untuk menampung data dari database
Dim dt As 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 = "account_id"
ComboBox1.DisplayMember = "description"
' DONE!!!
Catch ex As Exception
' 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("select account_id, description from acc_accounts", 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 = "account_id";
ComboBox1.DisplayMember = "description";
// 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 </p>
<p> </p>
<p>^_^</p>
- Log in to post comments
- 44580 kali dilihat