Wednesday, May 6, 2015

Menampilkan Data dari Database Pada Bahasa Pemrograman Java

Selamat siang sobat bloger.... !
(nulis selamat siang, soalnya ini nulisnya pas istirahat jam kantor, hehe )

Ok, pada kali ini saya mau sedikit ngeshare bagaimana cara menampilkan data pada database ke sebuah tabel(JTable) yang ada pada NetBeans.
Well... langsung aja ya ini list stepnya :

1. Buat database, pada contoh kali ini saya gunain MySQL lewat Xampp.
    Nama database : db_osd
2. Buat sebuah tabel dengan nama : pos_profil
    Penampakannya kayak gini
 

3. Silakan buat form(JForm) dengan nama frProfil
    Penampakannya kayak gini

    
    Komponen form di atas yg saya pakai : JLabel, JTextField, Panel, JTable, n JXDatePicker

4. Kalo sudah, mulae deh ke coding nya. :)
    Taruh coding ini dibawah konstruktor
   
     private void LoadData(){
        String[] kolom = {"ID","Nama Perusahaan","Owner","Tgl Berdiri","Alamat","No. Telepon","Email","Website"};
        _tabel = new DefaultTableModel(null,kolom){
            Class[] types = new Class [] {
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class
            };
            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
            // Agar table tidak bisa diedit
            public boolean isCellEditable(int row, int col) {
                int cola = _tabel.getColumnCount();
                return (col < cola) ? false : true;
            }
        };
        tbTabel.setModel(_tabel);
        try{
            _Cnn = null;
            sysKoneksi getCnn = new sysKoneksi();
            _Cnn = getCnn.getConnection();
            HapusTabel();
            String sql = "" +
                    "   SELECT * from pos_profil order by id_profil asc";
            Statement stat = _Cnn.createStatement();
            ResultSet res = stat.executeQuery(sql);
            while(res.next()){
                String id_profil = res.getString(1);
                String nama = res.getString(2);
                String owner = res.getString(3);
                Date tgl_pendirian = res.getDate(4);
                String alamat = res.getString(5);
                String no_telp = res.getString(6);
                String email = res.getString(7);
                String website = res.getString(8);
                Object[] data = {id_profil,nama,owner,tgl_pendirian,alamat,no_telp,email,website};
                _tabel.addRow(data);
            }
            tbTabel.getColumnModel().getColumn(0).setPreferredWidth(20);
            tbTabel.getColumnModel().getColumn(1).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(2).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(3).setPreferredWidth(50);
            tbTabel.getColumnModel().getColumn(4).setPreferredWidth(200);
            tbTabel.getColumnModel().getColumn(5).setPreferredWidth(50);
            tbTabel.getColumnModel().getColumn(6).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(7).setPreferredWidth(100);
        } catch(Exception ex) {
            JOptionPane.showMessageDialog(this,"Error : " + ex);
        }
    }
    ActionListener actionListener;
    private javax.swing.Timer timer = new javax.swing.Timer(100, actionListener);
    private void Refresh(){
        try {
            ActionListener al = new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    LoadData();
                    timer.stop();
                }
            };
            timer = new javax.swing.Timer(100, al);
            timer.start();
        } catch(Exception ex) {
        }
    }
 
    public void HapusTabel(){
        int row = _tabel.getRowCount();
        for (int i = 0;i < row;i++){
            _tabel.removeRow(0);
        }
    }

5. Panggil method LoadData di dalam konstruktor, kayak gini codingnya
   
    public frProfil() {
        initComponents();

        LoadData();

    }

6. Nahh... sebelum di Run File bisa dicek dulu pada import class nya (di bawah Package) sudah
    kayak gini belum.

    import java.awt.Dimension;
    import java.awt.Toolkit;
    import Class.sysKoneksi;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.Date;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import javax.swing.JOptionPane;
    import javax.swing.table.DefaultTableModel;

    N jangan lupa di bawah Class extends ketikan coding kyak gini.

    private DefaultTableModel _tabel;
    Connection _Cnn;

7. Well...... selesai deh, silakan di Run File n penampakannya kyak gini
 






Owh ya, . . kalo punya situ pada tabel masih kosong bearti belum ada datanya, silakan diisi dulu secara manual datanya pada database yg sudah dibuat. Untuk tutorial selanjutnya kita akan bahas operasi CRUD ( create, read, update, delete ) atau lazimnya cara menyimpan, menampilkan, mengubah, dan menghapus data.

Ok, . . semoga bermanfaat and Have a good try
:)

No comments: