Objekt ResultSet održava kursor koji pokazuje na redak tablice. U početku kursor pokazuje ispred prvog reda.
Prema zadanim postavkama, objekt ResultSet može se pomicati samo naprijed i ne može se ažurirati.
Ali ovaj objekt možemo natjerati da se kreće naprijed i unatrag prosljeđivanjem TYPE_SCROLL_INSENSITIVE ili TYPE_SCROLL_SENSITIVE u metodi createStatement(int,int), kao i ovaj objekt možemo učiniti ažuriranim putem:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Često korištene metode sučelja ResultSet
1) javni booleov next(): | koristi se za pomicanje pokazivača u sljedeći red od trenutne pozicije. |
2) javni booleov prethodni(): | koristi se za pomicanje pokazivača u jedan prethodni red od trenutne pozicije. |
3) javni booleov prvi(): | koristi se za pomicanje kursora u prvi red u objektu skupa rezultata. |
4) javni booleov last(): | koristi se za pomicanje kursora u zadnji red u objektu skupa rezultata. |
5) javni Boolean apsolutni (unutarnji red): | koristi se za pomicanje kursora na navedeni broj retka u objektu ResultSet. |
6) javni Booleov relativni (unutarnji red): | koristi se za pomicanje kursora na relativni broj retka u objektu ResultSet, može biti pozitivan ili negativan. |
7) public int getInt(int columnIndex): | koristi se za vraćanje podataka navedenog indeksa stupca trenutnog retka kao int. |
8) public int getInt(String columnName): | koristi se za vraćanje podataka navedenog naziva stupca trenutnog retka kao int. |
9) javni niz getString(int columnIndex): | koristi se za vraćanje podataka navedenog indeksa stupca trenutnog retka kao String. |
10) public String getString(String columnName): | koristi se za vraćanje podataka navedenog naziva stupca trenutnog retka kao String. |
Primjer Scrollable ResultSet-a
Pogledajmo jednostavan primjer sučelja ResultSet za dohvaćanje podataka 3. retka.
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(); }}