KONEKSI KE DATABASE DENGAN JDBC 2 Mengubah data Acuan satu project dari form sebelumya. Pada bagian ini akan mencoba untuk memisahkan kelas yang secara umum digunakan pada kelas lain. Misalnya setiap kelas Form membutuhkan fungsi untuk koneksi. Sehingga fungsi tersebut dibuat dimasukan ke dalam kelas tersendiri. Untuk mengubah tabel pada MysSQL dengan menggunakan perintah : UPDATE nama_tabel SET kolom1= isi_kol1, kolom2= isi_kol2, Kolom_n= isi_koln WHERE kolom_kunci= isi_kol_kunci ; Buat rancangan sebagai berikut Pengaturan isi properti seperti tabel berikut : Komponen Property Nilai JFrame Class settitle() NewJFrameUbahData Mengubah Data Pegwai ButtonGroup Variable Name buttongroupseks JButton Variable Name SetText() jbuttonselesai Selesai JButton Variable Name SetText() jbuttonsimpan Simpan
JComboBox Variabel Name model jcomboboxagama ISLAM PROTESTAN KATHOLIK HINDU BUDHA JRadioButton Variable Name jradiobuttonl JRadioButton Variable Name jradiobuttonp JComboBox Variable Name model jcomboboxnip kosongkan JTextField Variable Name SetText() JTextField jtextfieldnama JTextField Variable Name SetText() JTextField jtextfieldalamat Pembuatan kelas untuk koneksi: Kelas-kelas ini diciptakan untuk digunakan semua modul atau kelas interface lain misalnya sejumlah JFrame yang lain. Cara membuat kelas adalah sebagai berkut : Pada tab Project pilih Source pagkage Klik kanan mouse, pilih New Kemudin pilih dan klik Java Class Sebelum anda membuat program maka, Pada Class Name diberi nama NewClassKoneksi yang nantinya akan menjadi nama file NewClassKoneksi.java
Klik tombol Finis Kemudian lengkapilah seperti program berikut : import java.sql.*; public class NewClassKoneksi public Connection conn; public Statement st; public ResultSet rs; // menciptakan fungsi konec() public void koneksi() // mamangil fungsi konek() untuk melakukan koneksi konek("localhost","simpeg1","badi","badi"); // fungi konek public void konek(string server,string db, String user,string passwd) System.out.println("Keterangan"); try Class.forName("com.mysql.jdbc.Driver"); catch (ClassNotFoundException e)
System.out.println( "Ada kesalahan Driver ODBC tidak barhasil Load"); e.printstacktrace(); System.out.println("PostgreSQL JDBC Driver berhasil di Load"); conn = null; try conn = DriverManager.getConnection("jdbc:mysql://"+ server+":3306/"+db,user,passwd); catch (SQLException e) System.out.println("Tidak bisa koneksi ke database"); e.printstacktrace(); if (conn!= null) System.out.println("Berhasil Koneksi!"); else System.out.println("Koneksi Gagal...!"); Penjelasan Class.forName("com.mysql.jdbc.Driver"); Memanggil driver jdbc Tambahkan pada Form NewJFrameUbahData.java, sebagai berikut : import java.sql.*; import java.io.*; public class NewJFrameUbahData extends javax.swing.jframe NewClassKoneksi x; /** Creates new form NewJFrameUbahData */ public NewJFrameUbahData() initcomponents(); x = new NewClassKoneksi(); buttongroup1.add(jradiobuttonl); buttongroup1.add(jradiobuttonp); x.koneksi(); Penjelasan NewClassKoneksi x; deklarasi kelas x turunan dari kelas NewClassKoneksi
x = new NewClassKoneksi(); menciptakan kelas x turunan dari kelas NewClassKoneksi x.koneksi(); menaggi x.koneksi public void koneksi() // mamangil fungsi konek() untuk melakukan koneksi konek("localhost","simpeg1","badi","badi"); Mengisi jcomboboxnip [ ] dengan mengambil field nip dari tabel pegawai. Event pada saat program dijalankan. Klik pada From NewJFrameUbahData Klik kanan mouse dan pilih Events Klik Window Klik windowactive
Isikan Kode berikut : private void formwindowactivated(java.awt.event.windowevent evt) // TODO add your handling code here: String sql="select nip FROM pegawai ORDER BY nip"; jcomboboxnip.removeallitems(); try x.st = x.conn.createstatement(); x.rs = x.st.executequery(sql); catch (SQLException e) try while (x.rs.next()) jcomboboxnip.additem(x.rs.getstring("nip").tostring()); x.rs.close(); x.st.close(); catch (SQLException e) Penjelasan try while (x.rs.next()) jcomboboxnip.additem(x.rs.getstring("nip").tostring()); Melakukan loop untuk mengisi jcomboboxnip Kemudian membuat fungsi tampilkan() void tampilkan(string nip) String sql="select * FROM pegawai WHERE nip='"+nip+"';"; try x.st = x.conn.createstatement(); x.rs = x.st.executequery(sql); catch (SQLException e) try while (x.rs.next()) jtextfieldnama.settext(x.rs.getstring("nama").tostring());
jtextfieldalamat.settext( x.rs.getstring("alamat").tostring()); if (x.rs.getstring("seks").equals("l")) jradiobuttonl.setselected(true); else jradiobuttonp.setselected(true); int i=0; int ketemu=0; while (i<=jcomboboxagama.getitemcount()-1 ) if (x.rs.getstring("agama").equals( jcomboboxagama.getitemat(i).tostring())) ketemu=i; i++; jcomboboxagama.setselectedindex(ketemu); x.rs.close(); x.st.close(); catch (SQLException e) Event untuk ComboBoxNip [ ] dipilih Klik kanan mouse dan pilih Events Klik mouse Klik mouseclicked
Masukan kode berikut : private void jcomboboxnipmouseclicked(java.awt.event.mouseevent evt) // TODO add your handling code here: tampilkan(jcomboboxnip.getitemat(jcomboboxnip.getselectedindex()).tostr ing()); Penjelasan Tampilkan( jcomboboxnip.getitemat(jcomboboxnip.getselectedindex()).tostring() ); Nilai pareter jcomboboxnip.getitemat(jcomboboxnip.getselectedindex()).tostring() Event tombol, Klik Tombol Simpan Klik mouse Klik mouseclicked Masukan kode berkut : private void jbuttonsimpanmouseclicked(java.awt.event.mouseevent evt) // TODO add your handling code here: String nip,nama,alamat,jk,agama,sql; nip = jcomboboxnip.getitemat( jcomboboxnip.getselectedindex()).tostring(); nama =jtextfieldnama.gettext(); alamat =jtextfieldalamat.gettext(); agama =jcomboboxagama.getitemat(
jcomboboxagama.getselectedindex()).tostring(); if (jradiobuttonl.isselected()==true) jk ="L"; else jk="p"; sql = "UPDATE pegawai SET nama='"+nama+"',"+ "alamat='"+alamat+"',"+ "seks='"+jk+"',"+ "agama='"+agama+"'"+ " WHERE nip='"+nip+"'"; jtextfield1.settext(sql); try x.st = x.conn.createstatement(); x.st.execute(sql); catch (SQLException e) System.out.println("Penyimpanan Gagal "); System.out.println("data sudah tersimpan!");