JDBC (9) : Result Sets – Tipe ResultSet dan Concurrency ResultSet

Oleh : Reza Ervani

Referensi :

  1. Tutorials Point – JDBC Introduction
  2. Vogella – MySQL and JDBC – Lars Vogel
  3. Eclipse & JDBC – Russell Bateman

بسم الله الرحمن الرحيم

Statement SQL yang membaca data dari query database memberikan data dalam bentuk result set. Statement SELECT adalah cara standar untuk memilih baris dari suatu databse dan menampilkan mereka dalam bentuk result set. Antar muka java.sql.ResultSet mewakili result set dari suatu query database.

Suatu objek ResultSet mengatur suatu kursor yang menunjukkan baris tertentu di result set. Istilah “result set” merujuk pada baris dan kolom data di dalam objek ResultSet

Metode di antarmuka ResultSet dapat dipecah menjadi tiga kategori :

  • Navigational methods: digunakan untuk memindahkan kursor ke tempat lain
  • Get methods: Digunakan untuk menampilkan data di baris yang sedang ditunjuk oleh kursor
  • Update methods: Digunakan untuk mengupdate data di kolom pada baris yang sedang aktif. Update dapat kemudian dapat juga diupdate pada database yang sedang digunakan.

Kursor dapat dipindahkan berdasarkan properti dari ResultSet. Properti ini dirancang ketika Statement terkait yang menghasilkan ResultSet dibuat

JDBC menyediakan metode koneksi berikut ini untuk membuat statement dengan ResultSet yang diinginkan :

  • createStatement(int RSType, int RSConcurrency);
  • prepareStatement(String SQL, int RSType, int RSConcurrency);
  • prepareCall(String sql, int RSType, int RSConcurrency);

Argumen yang pertama mengindikasikan tipe objek ResultSet dan argumen kedua adalah satu dari dua konstanta ResultSet untuk menspesifikasikan apakah result set bersifat read-only atau dapat diupdate.

Tipe ResultSet

Kemungkinan RSType diberikan dalam daftar berikut ini. Jika kita tidak mendefinisikan tipe ResultSet, maka secara otomatis yang digunakan adalah TYPE_FORWARD_ONLY..

Tipe Deskripsi
ResultSet.TYPE_FORWARD_ONLY Kursor hanya dapat bergerak maju di result set
ResultSet.TYPE_SCROLL_INSENSITIVE Kursor dapat bergeser maju dan mundur, dan result set tidak sensititif terhadap perubahan yang dibuat oleh orang lain ke database yang muncul setelah result set dibuat
ResultSet.TYPE_SCROLL_SENSITIVE. Kursor dapat bergerak maju dan mundur dan result set bersifat sensitif terhadap perubahan yang dibuat oleh orang lain ke database yang muncul setelah result set dibuat.

Concurrency ResultSet

Kemungkinan RSConcurrency dicantumkan pada tabel berikut ini . Jika kita tidak menspesifikasikannya maka secara otomatis yang digunakan adalah CONCUR_READ_ONLY.

Concurrency Deskripsi
ResultSet.CONCUR_READ_ONLY Membuat sebuah result set yang read-only. Merupakan default
ResultSet.CONCUR_UPDATABLE Membuat sebuah result set yang dapat di update.

Contohnya kita dapat menulis sebuah objek Statement untuk membuat ResultSet yang bersifat read only dan forward only seperti berikut :


try {
   Statement stmt = conn.createStatement(
                           ResultSet.TYPE_FORWARD_ONLY,
                           ResultSet.CONCUR_READ_ONLY);
}
catch(Exception ex) {
   ....
}
finally {
   ....
}

Bersambung insya Allah (reza@rumahilmu.or.id)

About Reza Ervani 426 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.