Об’єкт ResultSet підтримує курсор, що вказує на рядок таблиці. Спочатку курсор вказує на перед першим рядком.
За замовчуванням об’єкт ResultSet можна переміщувати лише вперед, і він не оновлюється.
Але ми можемо змусити цей об’єкт рухатися вперед і назад, передавши TYPE_SCROLL_INSENSITIVE або TYPE_SCROLL_SENSITIVE у методі createStatement(int,int), а також ми можемо зробити цей об’єкт оновлюваним за допомогою:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Зазвичай використовувані методи інтерфейсу ResultSet
1) загальнодоступне логічне значення next(): | використовується для переміщення курсору на наступний рядок із поточної позиції. |
2) публічний логічний попередній(): | використовується для переміщення курсору на один рядок, попередній від поточної позиції. |
3) public boolean first(): | використовується для переміщення курсору до першого рядка об’єкта набору результатів. |
4) public boolean last(): | використовується для переміщення курсору до останнього рядка об’єкта набору результатів. |
5) відкритий логічний абсолют (внутрішній рядок): | використовується для переміщення курсору до вказаного номера рядка в об’єкті ResultSet. |
6) відкритий логічний відносний (внутрішній рядок): | використовується для переміщення курсору до відносного номера рядка в об’єкті ResultSet, він може бути додатним або від’ємним. |
7) public int getInt(int columnIndex): | використовується для повернення даних зазначеного індексу стовпця поточного рядка як int. |
8) public int getInt(String columnName): | використовується для повернення даних вказаного імені стовпця поточного рядка як int. |
9) public String getString(int columnIndex): | використовується для повернення даних зазначеного індексу стовпця поточного рядка як String. |
10) public String getString(String columnName): | використовується для повернення даних вказаного імені стовпця поточного рядка як String. |
Приклад Scrollable ResultSet
Давайте розглянемо простий приклад інтерфейсу ResultSet для отримання даних 3-го рядка.
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(); }}