Insert Update Delete Pada Database Dengan Java Netbean
Insert Update Delete Pada Database Dengan Java Netbean
Hai semua, sekarang saya akan membuat tutorial CRUD dengan Java Netbeans dan MySQL.
Karena sesuai dengan keyword masuk pada blog ini, saya akan memberikan tutorial langsung
daripada tersesat di blog :)
Buatlah sebuah project baru dengan nama sesuai dengan selera anda pada IDE Netbeans. Lalu
buatlah sebuah form terserah mau namanya apa juga.
Klik Finish
Saya membuat project dengan nama Tes Database dan Form FormKoneksi
Lalu klik 2x pada FormKoneksi buatlah interface form nya seperti ini :
Drag Drop JLabel,JTextField,JTable dan JButton. Ubah Nama Variable Control dengan mengklik
kanan pada control dan pilih Change Variable
Buatlah sebuah database terserah mau namanya apa dan bikin tabel anggota, berikut struktur
tabelnya :
id int(10)
nama varchar(30)
alamat varchar(40)
tlp varchar(16)
atau kalau tidak mau susah payah, bisa diunduh pada paket download nanti :)
Berikut langkah yang sudah saya susun :
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
Ini berfungsi agar paket-paket yang tersedia untuk Netbeans bekerja dengan baik
Lalu di bawah class FormKoneksi sisipkan kode :
private static Connection koneksi; //Koneksi
private DefaultTableModel model; //Model Tabel
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat koneksi");
}
}
return koneksi;
}
Maka anda langsung melihat mode source pada aksi Event klik Button Add
Buat kode berikut :
Connection c=buka_koneksi(); //panggil function koneksi
if("Add".equals(this.cmbAdd.getText())) //Jika Button Add teks nya Add
{
this.cmbAdd.setText("Save"); //Buat Teks Button Add yaitu Save
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
this.lblKode.setText("0"); //Kosongkan Nilai LabelKode
this.TxtNama.setText("");
this.TxtAlamat.setText("");
this.TxtTelepon.setText("");
}else if("Save".equals(this.cmbAdd.getText()))
{
//bikin sql query tambah data
String sqlkode="Insert into anggota (`nama`,`alamat`,`tlp`) "
+ "values ('"+this.TxtNama.getText()+"',"
+ "'"+this.TxtAlamat.getText()+"',"
+ "'"+this.TxtTelepon.getText()+"')";
try { //jalankan query tersebut
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}else if("Update".equals(this.cmbAdd.getText()))
{//bikin query update data
String sqlkode="Update anggota SET `nama`='"+this.TxtNama.getText()+"',"
+ "`alamat`='"+this.TxtAlamat.getText()+"',"
+ "`tlp`='"+this.TxtTelepon.getText()+"' "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Lalu action pada Button Edit
if("Edit".equals(this.cmbEdit.getText()))
{
this.cmbAdd.setText("Update");
this.cmbEdit.setText("Cancel");
this.cmbDelete.enable(false);
this.cmbRefresh.enable(false);
}else if("Cancel".equals(this.cmbEdit.getText()))
{
this.cmbAdd.setText("Add");
this.cmbEdit.setText("Edit");
this.cmbDelete.enable(true);
this.cmbRefresh.enable(true);
}
Action klik Button Delete
Connection c=buka_koneksi();
String sqlkode="Delete from anggota "
+ "Where ID='"+this.lblKode.getText()+"'";
try {
PreparedStatement p2=(PreparedStatement) c.prepareStatement(sqlkode);
p2.executeUpdate();
p2.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getMessage());
}
Action Button Refresh
ambil_data_tabel();
while (r.next()) {
Object[] o=new Object[4];
o[0]=r.getString("id");
o[1]=r.getString("nama");
o[2]=r.getString("alamat");
o[3]=r.getString("tlp");
model.addRow(o);
}
r.close();
s.close();
ambil_tabel_klik();
}catch(SQLException e) {
System.out.println("Terjadi kesalahan "+e.getMessage());
}
}
Buat function saat JTabel di klik
private void ambil_tabel_klik()
{
int i=this.jTable1.getSelectedRow();
if(i==-1)
{
return;
}
String kode=(String) model.getValueAt(i, 0);
this.lblKode.setText(kode);
String nama=(String) model.getValueAt(i, 0);
this.TxtNama.setText(nama);
String alamat=(String) model.getValueAt(i, 1);
this.TxtAlamat.setText(alamat);
String tlp=(String) model.getValueAt(i, 2);
this.TxtTelepon.setText(tlp);
}
Lalu buat action JTabel saat di klik