Perbedaan Cara Menampilkan Isi Database dengan Java dan Visual Basic 6

Beberapa hari yang lalu saya sempat bingung, gimana sih caranya nampilin isi database di java pake Jtable. Setelah berburu sumber-sumber yang terpercaya akhrinya bisa juga saya nampilin isi databasenya pake Jtable, akhirnya juga saya dapet bahan buat di tulis di blog ini.... Langsung aja,  kalo di Visual Basic 6, kita bisa nambahin ADODC untuk koneksi database, tapi yang akan saya bahas sekarang adalah koneksi dengan coding di modul...

Untuk membuat koneksi, buatlah fungsi koneksi di modul. Saya anggap pembaca sudah mengerti cara menambahkan modul di VB 6. Lalu Copy-paste coding berikut:

 Option Explicit
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public koneksi As String
'Public conn As String

Public Sub koneksi_database()
Dim ConnStr As String
'alamat database
koneksi = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dbkoperasi"
cn.ConnectionString = koneksi
cn.Open
End Sub

Sub tampil(getADODC As Adodc, sintak As String)
    getADODC.ConnectionString = koneksi
    getADODC.RecordSource = sintak
    getADODC.Refresh
End Sub

public sub koneksi_database adalah prosedur untuk mengakses database, sedangkan Sub tampil adalah untuk menampilkan database ke tabel. Caranya dengan menambahkan adodc di form, lalu panggil sub tampil(). Misalnya pada saat form load pembaca ingin agar tabel langsung terisi dengan data di database, tinggal panggil tampil(nama adodc, select* from namatabel). Sudah, habis perkara...


Lain di visual basic, lain juga di Java. untuk di java pertama-tama buat dulu sebuah class untuk koneksi database dengan nama koneksi. Saya sudah pernah membahas mengenai koneksi database menggunakan Java pada postingan sebelumnya. Setelah itu kita buat satu frame dengan design seperti gambar dibawah


Setelah itu buat sebuah class dengan nama classruangan yang isinya :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ruangan;


/**
 *
 * @author Black-code
 */
public class classruangan {
    public String idruangan;
    public String namaruangan;

    public void setidruang(String id){
        this.idruangan=id;
    }

    public String getidruang(){
        return idruangan;
    }

    public void setnamaruang(String nama){
        this.namaruangan=nama;

    }

    public String getnamaruang(){
        return namaruangan;
    }


}

Class udah, tampilan interface udah juga, selanjutnya coding di desain interfacenya... cek it dot

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * formruang.java
 *
 * Created on Apr 18, 2010, 5:11:15 PM
 */

package ruangan;


import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Black-code
 */
public class formruang extends javax.swing.JFrame {

    public static Connection konek;
    Vector row=new Vector();
    Vector dataent=new Vector();
    DefaultTableModel mod=new DefaultTableModel(null,row);
    int numrow;
    int respon;
    /** Creates new form formruang */
    public formruang() {
        initComponents();
        row.add("ID Ruangan");
        row.add("Nama Ruangan");
        tampiltabel();
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);

      
    }
    public void tampiltabel(){
        konek=inventori.koneksi.getkoneksi();

        jTable1.setModel(mod);

        try{
            Statement s=konek.createStatement();
            ResultSet rs=s.executeQuery("select * from tbruangan order by idruangan asc");
            dataent= new Vector();
            Vector datatbl=new Vector();

            while(rs.next()){
                Vector dataRow=new Vector();
                classruangan enty=new classruangan();
                dataRow.add(rs.getString("idruangan"));
                dataRow.add(rs.getString("namaruangan"));
                enty.setidruang(rs.getString("idruangan"));
                enty.setnamaruang(rs.getString("namaruangan"));
                dataent.add(enty);
                datatbl.add(dataRow);
            }
            mod.setDataVector(datatbl, row);
            jTable1.setModel(mod);

        }catch (Exception e){
            e.printStackTrace();
        }
    }


    public void simpan(String id, String nama)throws SQLException{
        try{

            konek= inventori.koneksi.getkoneksi();
            Statement order=konek.createStatement();
            ResultSet hasil=order.executeQuery("select * from tbruangan where idruangan='INF-"+id+"'");

            if(hasil.next()){
                respon=JOptionPane.showConfirmDialog(this, "data sudah ada, ingin diupdate", "Update Data", WIDTH,JOptionPane.YES_NO_OPTION);
                if(respon==0){
                    order.executeUpdate("update tbruangan set namaruangan='"+nama+"' where idruangan='INF-"+id+"'");
                    JOptionPane.showMessageDialog(this, "data sudah diupdate");
                    tampiltabel();
                }else{
                    id="";
                    nama="";
                }
            }else{
                order.executeUpdate("insert into tbruangan values('INF-"+id+"','"+nama+"')");
                JOptionPane.showMessageDialog(this, "data berhasil disimpan");
                tampiltabel();
            }
           
           
        }catch(Exception sqle){
            sqle.printStackTrace();
        }
    }
    public void updatedata(String id, String nama)throws SQLException{
        respon=JOptionPane.showConfirmDialog(this, "apakah anda benar-benar ingin mengupdate data??", "Edit data", WIDTH,JOptionPane.YES_NO_OPTION);
        if (respon==0){
            try{
                konek=inventori.koneksi.getkoneksi();
                Statement stm=konek.createStatement();
                stm.executeUpdate("update tbruangan set namaruangan='"+nama+"' where idruangan='"+id+"'");
                tampiltabel();
            }catch (Exception e){
                e.printStackTrace();
            }


        }else{
            id="";
            nama="";
        }
    }
    public void lihatisi(){
        int edit;
        edit=jTable1.getSelectedRow();
       jTextField1.setText((String) jTable1.getValueAt(edit, 0));
        jTextField2.setText( (String) jTable1.getValueAt(edit, 1));
    }
    public void hapus(String id, String nama){
        respon=JOptionPane.showConfirmDialog(this, "apakah anda benar-benar ingin menghapus data??", "Hapus data", WIDTH,JOptionPane.YES_NO_OPTION);
        if (respon==0){
            try{
                konek=inventori.koneksi.getkoneksi();
                Statement stm=konek.createStatement();
                stm.executeUpdate("delete from tbruangan where idruangan='"+id+"'");
                tampiltabel();
            }catch (Exception e){
                e.printStackTrace();
            }


        }else{
            id="";
            nama="";
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
            

    private void btnsaveActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {
            simpan(jTextField1.getText(), jTextField2.getText());

            // TODO add your handling code here:
        } catch (SQLException ex) {
            Logger.getLogger(formruang.class.getName()).log(Level.SEVERE, null, ex);
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
    }                                      

    private void btneditActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        try{
           updatedata(jTextField1.getText(), jTextField2.getText());

        }catch (Exception e){
            e.printStackTrace();
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
         jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
       
    }                                      

    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
        lihatisi();
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(true);
        btnedit.setEnabled(true);
        btndelete.setEnabled(true);
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
    }                                   

    private void btnaddActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        jTextField1.setEnabled(true);
        jTextField2.setEnabled(true);
        btnadd.setEnabled(false);
        btncancel.setEnabled(true);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(false);
        btnsave.setEnabled(true);
    }                                     

    private void btndeleteActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
        //script delete
        try{
            hapus(jTextField1.getText(), jTextField2.getText());
        }catch(Exception e){
            e.printStackTrace();
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);

    }                                        

    private void btnexitActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        this.dispose();
    }                                      

    private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
    }                                        

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new formruang().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton btnadd;
    private javax.swing.JButton btncancel;
    private javax.swing.JButton btndelete;
    private javax.swing.JButton btnedit;
    private javax.swing.JButton btnexit;
    private javax.swing.JButton btnsave;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private latar.panelimageruang panelimageruang1;
    private latar.paneltrans paneltrans1;
    // End of variables declaration                  

}

Yang saya cetak tebal dan miring adalah coding untuk menampilkan isi database ke dalam Jtable. Sekian Posting kali ini semoga bermanfaat...

1 komentar: (+add yours?)

Anonim mengatakan...

Mantab Gan...Akan Saya Coba tutorialnya

Posting Komentar