logo

ResultSet vmesnik

Objekt ResultSet vzdržuje kazalec, ki kaže na vrstico tabele. Na začetku kazalec kaže pred prvo vrstico.

Objekt ResultSet je privzeto mogoče premikati samo naprej in ga ni mogoče posodobiti.

Lahko pa naredimo, da se ta objekt premika naprej in nazaj, tako da posredujemo TYPE_SCROLL_INSENSITIVE ali TYPE_SCROLL_SENSITIVE v metodi createStatement(int,int), prav tako pa lahko ta objekt naredimo tako, da ga je mogoče posodobiti z:

 Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 

Pogosto uporabljene metode vmesnika ResultSet

1) javna logična vrednost next(): se uporablja za premik kazalca v naslednjo vrstico s trenutnega položaja.
2) javni logični prejšnji(): se uporablja za premik kazalca v eno prejšnjo vrstico s trenutnega položaja.
3) javno logično najprej(): se uporablja za premik kazalca v prvo vrstico v objektu niza rezultatov.
4) javna logična vrednost last(): se uporablja za premik kazalca v zadnjo vrstico v objektu niza rezultatov.
5) javno logično absolutno (intra vrstica): se uporablja za premikanje kazalca na določeno številko vrstice v objektu ResultSet.
6) javni logični relativni (int. vrstica): se uporablja za premikanje kazalca na relativno številko vrstice v objektu ResultSet, lahko je pozitivna ali negativna.
7) public int getInt(int columnIndex): se uporablja za vrnitev podatkov podanega indeksa stolpca trenutne vrstice kot int.
8) public int getInt(String columnName): se uporablja za vrnitev podatkov določenega imena stolpca trenutne vrstice kot int.
9) javni niz getString(int columnIndex): se uporablja za vrnitev podatkov določenega indeksa stolpca trenutne vrstice kot niz.
10) javni niz getString(String columnName): se uporablja za vrnitev podatkov določenega imena stolpca trenutne vrstice kot niz.

Primer Scrollable ResultSet

Oglejmo si preprost primer vmesnika ResultSet za pridobivanje podatkov 3. vrstice.

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