Minggu, 07 Oktober 2018

Cara Membuat Applikasi CRUD Java part 3

Mari kita lanjutkan langkah UPDATE dan DELETE, serta saya akan menambahkan cara untuk mencari data pada applikasi searchData.java.
Buatlah JFrameForm baru dan beri nama dengan editData.java. lalu buat formnya sesuai dengan gambar dibawah ini :

Silahkan buat variabel-variabel yang akan di pakai untuk merubah dan menghapus data pada form ini. Untuk membuatnya silahkan tambahkan kode ini pada awal class editData:
    int inpId,idnya;
    double setCap;
    String setNama;
Selanjutunya kita buat fungsi search pada textField setelah menekan enter pada keyboard. Silahkan double click textField yang ada di samping seach lalu paste kode ini:
        inpId=Integer.valueOf(IdField.getText());
        search(inpId);
        ID.setText(String.valueOf(idnya));
        nameField.setText(setNama);
        qtyField.setText(String.valueOf(setCap));
Pada kode search(inpId); merupakan fungsi search yang dicari erdasarkan kata yang kita inputkan pada textFieldnya. kemudian buat fungsi seacrhnya denga kode ini diletakan sebelum tanda kurung kurawa terakhir pada baris kode yang kita buat:
    private Connection connect() {
        // SQLite connection string
        String url = “jdbc:sqlite:/mnt/home/sqlite.db”;
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url);
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
        return conn;
    }
    private void search(int inpId) {
        String sql =”SELECT id,name,capacity FROM warehouses where id =”+inpId;
        try (Connection conn = this.connect();
             Statement stmt  = conn.createStatement();
             ResultSet rs    = stmt.executeQuery(sql)){
            idnya=Integer.valueOf(rs.getString(“id”));
            setNama=rs.getString(“name”);
            setCap=Double.valueOf(rs.getString(“capacity”));
        } catch (SQLException e) {
            nameField.setText(“”);
            qtyField.setText(“”);
        }
    }
Pada kode yang berwarna ungu merupakan fungsi connect yang berfungsi untuk menyambungkan applikasi ke database. Ini juga akan digunakan pada fungsi-fungsi lainya. Sedangkan warna biru setelahnya merupakan fungsi seachnya.
Untuk mengujinya silahkan jalankan applikasinya dengan menekan f6, lalu ketik id barang yang ingin kita akan edit atau delete lalu tekan enter. bila langsung menampilkan data yang ada pada dan mengisi seluruh textField yang kosong dibawahnya saya katakan itu kamu telah berhasil dalam mempraktikan tutorial ini. bila belum silahkan cek kembali komponen-komponen,variable name dan kodenya.
Bila sudah kita buat fungsi selanjutnya yakni edit dan delete. Setelah itu kita buat fungsi delete dengan double click tombol edit dan tambahkan kode:
        inpId=Integer.valueOf(IdField.getText());
        setNama=nameField.getText();
        setCap=Double.valueOf(qtyField.getText());
        update(inpId,setNama,setCap);
        IdField.setText(“”);
        nameField.setText(“”);
        qtyField.setText(“”);
Seteleh itu kita buat fungsi update dengan menambahkan kode ini setelah fungsi search tadi:
    private void update(int inpId, String setNama, double setCap) {
        String sql = “UPDATE warehouses SET name = ? , “
                + “capacity = ? “
                + “WHERE id = ?”;
 
        try (Connection conn = this.connect();
                PreparedStatement pstmt = conn.prepareStatement(sql)) {
 
            // set the corresponding param
            pstmt.setString(1, setNama);
            pstmt.setDouble(2, setCap);
            pstmt.setInt(3, inpId);
            // update
            pstmt.executeUpdate();
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }
Lalu buat fungsi delete untuk menghapus data dengan fungsi kode ini:
        inpId=Integer.valueOf(IdField.getText());
        delete(inpId);
        IdField.setText(“”);
        nameField.setText(“”);
        qtyField.setText(“”);
dan fungsi deletenya :
    private void delete(int inpId) {
        String sql = “DELETE FROM warehouses WHERE id = ?”;
 
        try (Connection conn = this.connect();
                PreparedStatement pstmt = conn.prepareStatement(sql)) {
 
            // set the corresponding param
            pstmt.setInt(1, inpId);
            // execute the delete statement
            pstmt.executeUpdate();
 
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
}
Oke semua tutorial ini telah kita buat sedangkan untuk membuat searchData.java bisa memodifikasi dari fungsi search diatas.
Semoga berhasil.

Tidak ada komentar:

Posting Komentar