Menampilkan Data dari Database ke JTable - Ogat Dezaign

IT Maintenance, Software n' Web Developer

Boxed(True/False)

Hot

Post Top Ad

Sunday, May 18, 2014

Menampilkan Data dari Database ke JTable

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
:)

    
   
   

4 comments:

  1. http://latihanbasisdata.blogspot.com/2016/06/cara-menampilkan-data-dari-database-ke-tabel-java.html

    Cara Menampilkan Data Dari Database ke Tabel Java

    ReplyDelete
  2. http://latihanbasisdata.blogspot.com/2016/06/cara-menampilkan-data-dari-database-ke-tabel-java.html

    Cara Menampilkan Data Dari Database ke Tabel Java

    ReplyDelete
  3. kalo misalnya menampilkan data ke jtable dari table yg ada didatabse berbeda kaya gmana

    ReplyDelete
  4. cara menampilkan layar baru gmn bos?
    misal gambar diatas tabel dihilangkan dan trus ditambahi button tampilan,gmn script untuk button tampilan..TQ

    ReplyDelete

Post Top Ad