logo

ResultSet интерфейс

Обектът на 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) публичен булев първи(): се използва за преместване на курсора до първия ред в обекта с набор от резултати.
4) публичен булев last(): се използва за преместване на курсора до последния ред в обекта за набор от резултати.
5) публичен булев абсолют (вътрешен ред): се използва за преместване на курсора до посочения номер на ред в обекта ResultSet.
6) публичен булев относителен (вътрешен ред): се използва за преместване на курсора до относителния номер на ред в обекта ResultSet, той може да бъде положителен или отрицателен.
7) public int getInt(int columnIndex): се използва за връщане на данните от посочения индекс на колона на текущия ред като int.
8) public int getInt(String columnName): се използва за връщане на данните от определено име на колона на текущия ред като int.
9) публичен низ 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(); }}