Objekt ResultSet udržiava kurzor ukazujúci na riadok tabuľky. Na začiatku kurzor ukazuje pred prvý riadok.
V predvolenom nastavení je možné objekt ResultSet presunúť iba dopredu a nie je možné ho aktualizovať.
Môžeme však prinútiť tento objekt, aby sa pohyboval vpred a vzad tým, že prejdem buď TYPE_SCROLL_INSENSITIVE alebo TYPE_SCROLL_SENSITIVE v metóde createStatement(int,int), rovnako ako môžeme tento objekt nastaviť ako aktualizovateľný pomocou:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Bežne používané metódy rozhrania ResultSet
1) public boolean next(): | sa používa na presun kurzora na ďalší riadok od aktuálnej pozície. |
2) verejný booleovský predchádzajúci(): | sa používa na presun kurzora na predchádzajúci riadok z aktuálnej pozície. |
3) public boolean first(): | sa používa na presunutie kurzora na prvý riadok v objekte sady výsledkov. |
4) public boolean last(): | sa používa na presunutie kurzora na posledný riadok v objekte sady výsledkov. |
5) verejný boolovský absolútny (int riadok): | sa používa na presunutie kurzora na zadané číslo riadku v objekte ResultSet. |
6) verejný boolovský relatívny (int riadok): | sa používa na presunutie kurzora na relatívne číslo riadku v objekte ResultSet, môže byť kladné alebo záporné. |
7) public int getInt(int columnIndex): | sa používa na vrátenie údajov zadaného indexu stĺpca aktuálneho riadku ako int. |
8) public int getInt(String columnName): | sa používa na vrátenie údajov zadaného názvu stĺpca aktuálneho riadku ako int. |
9) verejný reťazec getString(int columnIndex): | sa používa na vrátenie údajov zadaného indexu stĺpca aktuálneho riadku ako reťazec. |
10) verejný reťazec getString(String columnName): | sa používa na vrátenie údajov zadaného názvu stĺpca aktuálneho riadku ako reťazec. |
Príklad rolovateľnej sady výsledkov
Pozrime sa na jednoduchý príklad rozhrania ResultSet na získanie údajov z 3. riadku.
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(); }}