Menggunakan PreparedStatement

Asumsi kita mempunyai tabel tMahasiswa dengan struktur sbb : [NIM varchar(9), Nama varchar(50), Alamat varchar(50)]. Kita akan melakukan perubahan terhadap isi tabel (INSERT) dengan menggunakan PreparedStatement. Salah satu kelebihannya adalah dengan menggunakan PreparedStatement database tidak mudah untuk di SQL Injection karena inputan dari user hanya berupa parameter saja bukan sebagai bagian dari query.

Ini Contoh sederhananya :

class UsingPreparedStatement {
Connection con;
public UsingPreparedStatement (Connection con){
this.con = con;
}

public int insertData(String NIM, String Nama, String Alamat) throws Exception {
int x = 0;
PreparedStatement statement = null;
try {
statement = this.con.prepareStatement("INSERT INTO tMahasiswa VALUES(?,?,?)");
statement.setString(1,NIM);
statement.setString(1,Nama);
statement.setString(1,Alamat);
x = statement.executeUpdate();
}catch(Exception ex){throw ex}
return x;
}
}

Sourcecode diatas bisa kita modifikasi untuk proses yang lain (DELETE, UPDATE dan SELECT). Untuk objek Connection yang kita lewatkan ke kelas diatas disesuaikan dengan database engine yang digunakan.

Advertisements

4 Responses to Menggunakan PreparedStatement

  1. aq coba di MS ACCESS dah jalan,aq coba untuk insert, no error(koneksi & query dah OK), tp aq buka file database *.mdb nya koq datanya gak masuk yah..???

    😦
    wes mumed ndase

  2. Vyor says:

    Kalo ga ada error bukan berarti berhasil.
    Coba kamu trace error nya dulu …
    Kalo masih sama,
    –periksa connection,…
    –periksa sintaks sql yang kamu pake di objek preparedstatement

    Semoga membantu …

  3. Dori says:

    Maaf pak, mau tanya. Saya sedang buat program yang mengambil data di database dengan syarat (WHERE) dari user lewat ComboBox. Saya modifikasi contoh di atas, tidak ada error tp data tidak muncul. Saya tidak menggunakan :

    public int insertData(String NIM, String Nama, String Alamat) throws Exception {

    Saya meletakkan kode-nya di bawah initComponent(). Bisakah bapak memberikan masukan kepada saya.. Terima kasih…

  4. Vyor says:

    @Dori : umumnya untuk mendapatkan data dari tabel menggunakan object dari kelas untuk menampung respon dari tabel. Di Java bisa pakai kelas ResultSet. Nah, ketika ResultSet sudah dapat isinya langkah selanjutnya kamu melakukan sejumlah perulangan untuk membaca ResultSet tersebut kemudian diproses/ditampilkan ke tampilan out.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: