Belajar Programming | 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 metoda data-binding sehingga kita bisa menghilangkan dan menghapus code iterasi yang melelahkan saat mengisi data ke combobox bersangkutan. Langkah-langkah atau algoritma dasarnya adalah sebagai berikut:

  • Siapkan koneksi database
  • Siapkan perintah SQL
  • Siapkan variable penampung data (bisa DataTable atau DataSet)
  • Ambil data dari database, masukkan ke DataTable
  • Binding data di DataTable ke ComboBox

Algortima yang sederhana di atas ketika kita terjemahkan ke dalam VB.net akan seperti ini,

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

Sedangkan jika kita terjemahkan ke dalam C# akan menjadi seperti ini,

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);
            }
        }
    }
}

Jika data yang ada di database seperti ini,

Mengisi ComboBox Dengan Data Dari Database VB.net c#

Maka tampilan aplikasinya jadi seperti ini,

Mengisi ComboBox Dengan Data Dari Database VB.net c#

Semoga berguna…. Happy Coding 

 

^_^

Leave a Reply

Your email address will not be published. Required fields are marked *