Cara Mengisi Data JComboBox Dari Database


Salah satu hal yang amat sangat umum dalam membuat sebuah aplikasi Desktop adalah mengisi ComboBox dengan mengambil data yang berasal dari database. Sebenarnya hal ini sangat simple namun bagi sebagian programmer pemula bisa jadi merupakan hal yang sangat sulit, Cara nya cukup sederhana hanya dengan menggunakan query SELECT kemudian item dari data yang ingin ditampilkan kita pasangkan pada item yang ada pada jcombobox.

pada dasarnya ada dua jenis cara menampilkan data yaitu :
  1. Hanya menampilkan sebuah data yaitu melakukan pengambilan data secara langsung dengan mengambil data pada sebuah kolom pada tabel
  2. Menampilkan dua buah data yaitu item dan value pada combobox.
pada contoh berikut adalah cara menampilkan sebuah data saja yang berasal dari tabel dosen. diasumsikan tabel dosen memiliki dua buah kolom yaitu kode_dosen dan nama_dosen, Langkah-langkah atau algoritma  adalah sebagai berikut:

public BindingCombobox() {//ini adalah constructor
        initComponents();
        jc.removeAllItems(); //digunakan untuk membersihkan item jcombobox sebelum diisi.
        tampilDosen();
    }

    public void tampilDosen() {
        java.sql.Statement st;
        java.sql.Connection con;
        java.sql.ResultSet rs;
        try {
            con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/datamhs", "root", "");
            st = con.createStatement();
            String s = "select * from dosen";
            rs = st.executeQuery(s);
            while (rs.next()) {
                jc.addItem(rs.getString(2));
                //jc adalah nama variabel Jcombobox
                //rs.getString(2) adalah kolom nama_dosen yang diambil secara urut dimulai dari satu
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "ERROR" + e.getMessage());
            //digunakan untuk menampilkan pesan jika terjadi error 
        }
    }


coding diatas bisa kita buat dalam sebuah fungsi kemudian nanti kita panggil pada class constructor, agar ketika dirunning coding tersebut secara otomatis akan dijalankan.