Tabel (CRUD dan Searching Data)
1. Buka Tampilan Tabel yang telah dibuat.
2. Buat Tampilan contohnya seperti ini :
Catatan :
Tombol simpan yang ada pada tampilan tersebut memiliki fungsi untuk menyimpan data dan mengupdate data . Dan tombol hapus untuk menghapus data.
1. Langkah pertama membuat events yaitu mouse clik dimana jika kita mengkilik sebuah data maka akan memunculkan ID.
Caranya adalah klik kana pada jTabel1 lalu klik pilih events>mouse Clicked.
Kodenya :
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
int data_terpilih = jTable1.getSelectedRow();
String ID = model.getValueAt(data_terpilih, 0).toString();
String Nama = model.getValueAt(data_terpilih, 1).toString();
String Alamat = model.getValueAt(data_terpilih, 2).toString();
data.setText(ID);
id.setText(ID);
nama.setText(Nama);
alamat.setText(Alamat);
}
Catatan:
Pertama buat sebuah variabel untuk menentukan baris mana yang akan diklik, baris mana yang akan ditampilkan.
Data terpilih (data_terpilih) untuk menentukan data apa yang muncul ketika diklik.
getSelectedRow(); adalah baris yang terpilih.
2. Selanjutnya yaitu source kode tombol simpan.
Disini akan membuat 2 buah kondisi dimana jika pada jTexfield (Data) yang ada pada bawah tabel pada terisi maka akan mengupdate data, dan apabila jTexfield (Data) yang ada pada bawah tabel pada keadaan kosong dan ID, Nama, Alamat terisi maka actionnya simpan
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (data.getText().equals("")) {
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
Statement st = conn.createStatement();
String query = "INSERT INTO zakat10 VALUES ('" + id.getText() + "','" + nama.getText() + "','" + alamat.getText() + "')";
st.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Data Baru Telah Disimpan", "Status", 1);
ShowDataTabel();
reset();
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
Statement st = conn.createStatement();
String query = "UPDATE zakat10 SET ID = '" + id.getText() + "', Nama ='" + nama.getText() + "', Alamat ='"+alamat.getText()+"'"
+"WHERE ID= '" +data.getText() + "'";
st.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Data Telah Diubah", "Status", 1);
ShowDataTabel();
reset();
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Membuat method untuk mengupdate tampilan :
Digunakan ketika akan merest/mengupdate jika berhasil tersimpan maka fiels yang ada pada ID,Nama,Alamat akan menjadi kosong semua.
Lalu memanggil method pada tombol simpan dibagian memasukkan data.
public void reset() {
id.setText(null);
nama.setText(null);
alamat.setText(null);
data.setText(null);
}
}
3. Source Kode Hapus
private void hapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int respon= JOptionPane.showConfirmDialog(null, "Anda Yakin Ingin Menghapus Data", "Status", 0);
if (respon ==JOptionPane.YES_OPTION){
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
Statement st = conn.createStatement();
String query = "DELETE FROM zakat10 WHERE ID ='"+id.getText()+"' ";
st.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Data Telah Dihapus", "Status", 1);
ShowDataTabel();
reset();
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
4. Pecaraian Data
private void dataKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String key_id = id.getText();
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
String query = " SELECT* FROM zakat10 WHERE ID LIKE '%"+key_id "%' OR Nama LIKE '%"+key_id "%' OR Alamat LIKE '%"+key_id "%' OR ;
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
DefaultTableModel tm = (DefaultTableModel) jTable1.getModel();
tm.setRowCount(0);
while (rs.next()) {
String ID = rs.getString("ID");
String Nama = rs.getString("Nama");
String Alamat = rs.getString("Alamat");
System.out.println(ID);
tm.addRow(new Object[]{ID, Nama, Alamat});
}
} catch (SQLException ex) {
System.out.println(ex);
}
Tidak ada komentar:
Posting Komentar