logo

Interfejs zestawu wyników

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(); }}