Jika Sebelumnya telah belajar cara untuk membuat sebuah Kode koneksi dari Java Netbeans ke Database MySQL, maka sekarang adalah proses lanjutan nya yaitu membuat sebuah form dengan perintah CRUD (Create, Insert, Update dan Delete).
Pembelajaran kali ini melanjutkan dari kemarin, jika sudah membuat sebuah koneksi ke database (Kode koneksi VERSI 1), maka langkah selanjutnya yaitu membuat package baru ( form transaksi pada package yang berbeda ), sama halnya dengan pembelajaran kemarin pada pembuatan package, yaitu pertama :
Pada projek , klik kanan di ‘source packages’ pilih ‘New’ pilih ‘Java Package’ dan beri nama dengan : inputan
Lalu Pada projek , klik kanan di ‘inputan’ pilih ‘New’ pilih ‘Jframe Form’ beri nama : transaksi
Setelah selesai , nanti akan terlihat panel kosong, belum ditambahkan apa apa, maka setelah itu tinggal tambahkan Label, Text Field, Combo Box, Table dan Button. Lalu ubah masing masing Nama dan Nama Variabel nya supaya lebih memudahkan saat melakukan pengkodingan.
Ubah Nama masing masing Label, Text Field, Combo Box, Table dan Button dengan cara Klik Kanan lalu Pilih Edit Text.
Ubah Nama Variabel masing masing Label, Text Field, Combo Box, Table dan Button dengan cara Klik Kanan lalu Pilih Change Variable Name ...
jTextField1 > txKode
jTextField2 > txNope
jTextField3 > txNama
jTextField4 > txHarga
jTextField5 > txKet
jComboBox1 > cbStat
jButton1 > TSimpan
jButton2 > TEdit
jButton3 > THapus
jTable1 > Tabel
Lalu, pada Combo Box, Klik Combo Box, Lalu Klik Properties, Lalu Klik model, hapus Item 1, Item 2, Item 3, Item 4 dengan : LUNAS dan NGUTANG
Masukan sebuah Kode di bawah “ package inputan; “ :
import koneksi.koneksi;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
Masukan sebuah Kode di bawah “ public class transaksi extends javax.swing.JFrame { “ :
koneksi con;
private Object [][]tbl_input = null;
private String[] label = {"Kode", "No. HP","Nama","Keterangan","Harga","Status"};
Masukan sebuah Kode di bawah “ public transaksi() { initComponents(); “ :
con = new koneksi();
con.Class();
Setelah memasukan Kode Tambahan di atas, maka langkah selanjutnya yaitu tinggal pemberian Kode perintah pada masing masing Tombol.
TOMBOL SIMPAN
Klik kanan tombol simpan, lalu pilih Events, pilih Action, pilih actionPerformed, lalu masukan perintah :
try {
String sql="Insert into trans values('"+txKode.getText()+"','"+txNope.getText()+"','"+txNama.getText()+"','"+txKet.getText()+"','"+txHarga.getText()+"','"+cbStat.getSelectedItem()+"')";
PreparedStatement p = (PreparedStatement) con.cc.prepareStatement(sql);
p.executeUpdate();
JOptionPane.showMessageDialog(this, "Data sukses di input");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Data tidak boleh kosong", "Warning", JOptionPane.ERROR_MESSAGE);
}
Klik kanan tombol edit, lalu pilih Events, pilih Action, pilih actionPerformed, lalu masukan perintah :
String kode = this.txKode.getText();
String nope = this.txNope.getText();
String nama = this.txNama.getText();
String jual = this.txHarga.getText();
String ket = this.txKet.getText();
String stat = (String) this.cbStat.getSelectedItem();
try {
String sql="Update trans set nope=?, nama=?, hjual=?, ket=?, status=? Where id_trans=?";
PreparedStatement p = (PreparedStatement) con.cc.prepareStatement(sql);
p.setString(6, kode);
p.setString(1, nope);
p.setString(2, nama);
p.setString(3, jual);
p.setString(4, ket);
p.setString(5, stat);
p.executeUpdate();
JOptionPane.showMessageDialog(this, "Data sukses di input");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Data tidak boleh kosong", "Warning", JOptionPane.ERROR_MESSAGE);
}
TOMBOL HAPUS
Klik kanan tombol hapus, lalu pilih Events, pilih Action, pilih actionPerformed, lalu masukan perintah :
try {
String sql = "Delete from trans Where id_trans = '"+txKode.getText()+"'";
con.ss.executeUpdate(sql);
con.ss.close();
JOptionPane.showMessageDialog(null, "Data berhasil di hapus");
txKode.requestFocus();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
Setelah pemberian Kode Tambahan dan Kode Perintah pada masing masing tombol, Lalu coba jalankan project tersebut. Pasti Berhasil dan Berhasil Tersimpan Kedalam Database, tapi masih ada yang kurang yaa ? Data yang berhasil diinputkan tidak tampil ke dalam Tabel. Untuk menampilkan data inputan tadi ke dalam tabel, maka buat kode perintah seperti di bawah ini :
try {
con.ss = (Statement) con.cc.createStatement();
String sql = "Select * From trans Order By id_trans";
con.rr = con.ss.executeQuery(sql);
ResultSetMetaData m = con.rr.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (con.rr.next()) {
baris = con.rr.getRow();
}
tbl_input = new Object[baris][kolom];
int x = 0;
con.rr.beforeFirst();
while (con.rr.next()) {
tbl_input [x][0] = con.rr.getString("id_trans");
tbl_input [x][1] = con.rr.getString("nope");
tbl_input [x][2] = con.rr.getString("nama");
tbl_input [x][3] = con.rr.getString("ket");
tbl_input [x][4] = con.rr.getString("hjual");
tbl_input [x][5] = con.rr.getString("status");
x++;
}
Tabel.setModel(new DefaultTableModel(tbl_input, label));
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
Lalu Masukan sebuah Kode di bawah “ public transaksi() { initComponents(); “ :
BacaTabel();
Setelah memasukan perintah seperti itu, data telah berhasil tampil pada tabel. Lalu untuk proses Edit dan Hapus, kita perlu kode Perintah untuk mengKlik Tabel, jadi Jika kita mengKlik data yang ada Pada Tabel, data tersebut, kembali terisi pada Field Field saat sebelum kita menyimpan data tersebut. Untuk melakukan perintah Seperti itu, maka tambahkan Sebuah Kode perintah pada Tabel nya dengan cara :
Klik Kanan Tabel, lalu pilih Events, lalu pilih Mouse, lalu pilih mouseClicked, dan masukan perintah :
int row = Tabel.getSelectedRow();
txKode.setText((String)Tabel.getValueAt(row, 0));;
txNope.setText((String)Tabel.getValueAt(row, 1));;
txNama.setText((String)Tabel.getValueAt(row, 2));;
txHarga.setText((String)Tabel.getValueAt(row, 4));;
txKet.setText((String)Tabel.getValueAt(row, 3));;
cbStat.setSelectedItem((String)Tabel.getValueAt(row, 5));;
No comments:
Post a Comment