Obiekt ResultSet utrzymuje kursor wskazujący wiersz tabeli. Początkowo kursor wskazuje przed pierwszym wierszem.
Domyślnie obiekt ResultSet można przesuwać tylko do przodu i nie można go aktualizować.
Ale możemy sprawić, że ten obiekt będzie poruszał się do przodu i do tyłu, przekazując TYPE_SCROLL_INSENSITIVE lub TYPE_SCROLL_SENSITIVE w metodzie createStatement(int,int), a także możemy sprawić, że ten obiekt będzie aktualizowalny poprzez:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Powszechnie używane metody interfejsu ResultSet
1) publiczna wartość logiczna next(): | służy do przesuwania kursora do wiersza następnego od aktualnej pozycji. |
2) publiczna wartość logiczna poprzednia (): | służy do przesuwania kursora do wiersza poprzedzającego bieżącą pozycję. |
3) najpierw publiczna wartość logiczna (): | służy do przesuwania kursora do pierwszego wiersza w obiekcie zestawu wyników. |
4) publiczna wartość logiczna last(): | służy do przesuwania kursora do ostatniego wiersza w obiekcie zestawu wyników. |
5) publiczna wartość boolowska (intwiersz): | służy do przesuwania kursora do określonego numeru wiersza w obiekcie ResultSet. |
6) publiczna wartość logiczna względna (wiersz wewnętrzny): | służy do przesuwania kursora do względnego numeru wiersza w obiekcie ResultSet, może on być dodatni lub ujemny. |
7) public int getInt(int kolumnaIndex): | służy do zwracania danych o określonym indeksie kolumny bieżącego wiersza jako int. |
8) public int getInt(String nazwakolumny): | służy do zwracania danych o określonej nazwie kolumny bieżącego wiersza jako int. |
9) publiczny String getString(int kolumnaIndex): | służy do zwracania danych o określonym indeksie kolumny bieżącego wiersza jako String. |
10) publiczny String getString(String nazwakolumny): | służy do zwracania danych o określonej nazwie kolumny bieżącego wiersza jako String. |
Przykład przewijanego zestawu wyników
Zobaczmy prosty przykład interfejsu ResultSet do pobierania danych z trzeciego wiersza.
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(); }}