Objekt ResultSet udržuje kurzor ukazující na řádek tabulky. Zpočátku kurzor ukazuje před první řádek.
Ve výchozím nastavení lze objekt ResultSet přesunout pouze dopředu a nelze jej aktualizovat.
Můžeme však zajistit, aby se tento objekt pohyboval vpřed a vzad předáním buď TYPE_SCROLL_INSENSITIVE nebo TYPE_SCROLL_SENSITIVE v metodě createStatement(int,int), stejně jako můžeme tento objekt nastavit jako aktualizovatelný pomocí:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Běžně používané metody rozhraní ResultSet
1) public boolean next(): | se používá k přesunutí kurzoru na další řádek od aktuální pozice. |
2) public boolean previous(): | se používá k přesunutí kurzoru na předchozí řádek z aktuální pozice. |
3) public boolean first(): | se používá k přesunutí kurzoru na první řádek v objektu sady výsledků. |
4) public boolean last(): | se používá k přesunutí kurzoru na poslední řádek v objektu sady výsledků. |
5) veřejná logická absolutní hodnota (int řádek): | se používá k přesunutí kurzoru na zadané číslo řádku v objektu ResultSet. |
6) veřejný booleovský relativní (int řádek): | se používá k přesunutí kurzoru na relativní číslo řádku v objektu ResultSet, může být kladné nebo záporné. |
7) public int getInt(int columnIndex): | se používá k vrácení dat zadaného indexu sloupce aktuálního řádku jako int. |
8) public int getInt(String columnName): | se používá k vrácení dat zadaného názvu sloupce aktuálního řádku jako int. |
9) veřejný řetězec getString(int columnIndex): | se používá k vrácení dat zadaného indexu sloupce aktuálního řádku jako řetězec. |
10) public String getString(String columnName): | se používá k vrácení dat zadaného názvu sloupce aktuálního řádku jako String. |
Příklad rolovatelné sady výsledků
Podívejme se na jednoduchý příklad rozhraní ResultSet pro načtení dat 3. řádku.
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(); }}