logo

ResultSet-käyttöliittymä

ResultSet-objekti ylläpitää kohdistinta, joka osoittaa taulukon riville. Aluksi kohdistin osoittaa ennen ensimmäistä riviä.

Oletuksena ResultSet-objektia voidaan siirtää vain eteenpäin, eikä se ole päivitettävissä.

Mutta voimme saada tämän objektin liikkumaan eteen- ja taaksepäin ohittamalla joko TYPE_SCROLL_INSENSITIVE- tai TYPE_SCROLL_SENSITIVE-parametrin createStatement(int,int) -metodissa, sekä voimme tehdä tästä objektista päivitettävissä olevan:

 Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 

Yleisesti käytetyt ResultSet-rajapinnan menetelmät

1) julkinen boolean next(): käytetään siirtämään kohdistin seuraavalle riville nykyisestä sijainnista.
2) julkinen boolen edellinen(): käytetään siirtämään kohdistin nykyisestä sijainnista edelliselle riville.
3) julkinen boolean ensin(): käytetään siirtämään kohdistin tulosjoukkoobjektin ensimmäiselle riville.
4) julkinen boolen viimeinen(): käytetään siirtämään kohdistin tulosjoukkoobjektin viimeiselle riville.
5) julkinen looginen absoluuttinen arvo (int row): käytetään siirtämään kohdistin määritettyyn rivinumeroon ResultSet-objektissa.
6) julkinen boolen suhteellinen (int row): käytetään siirtämään kohdistin ResultSet-objektin suhteelliseen rivinumeroon, se voi olla positiivinen tai negatiivinen.
7) julkinen int getInt(int columnIndex): käytetään palauttamaan nykyisen rivin määritetyn sarakeindeksin tiedot int.
8) julkinen int getInt(merkkijonosarakkeen nimi): käytetään palauttamaan nykyisen rivin määritetyn sarakkeen nimen tiedot int.
9) julkinen merkkijono getString(int columnIndex): käytetään palauttamaan nykyisen rivin määritetyn sarakeindeksin tiedot merkkijonona.
10) julkinen merkkijono getString(merkkijonosarakkeen nimi): käytetään palauttamaan nykyisen rivin määritetyn sarakkeen nimen tiedot merkkijonona.

Esimerkki vieritettävästä tulosjoukosta

Katsotaanpa yksinkertaista esimerkkiä ResultSet-liittymästä 3. rivin tietojen hakemiseksi.

 import java.sql.*; class FetchRecord{ public static void main(String args[])throws Exception{ Class.forName('oracle.jdbc.driver.OracleDriver'); Connection con=DriverManager.getConnection('jdbc:oracle:thin:@localhost:1521:xe','system','oracle'); Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=stmt.executeQuery('select * from emp765'); //getting the record of 3rd row rs.absolute(3); System.out.println(rs.getString(1)+' '+rs.getString(2)+' '+rs.getString(3)); con.close(); }}