ResultSet objektas palaiko žymeklį, nukreipiantį į lentelės eilutę. Iš pradžių žymeklis nurodo į pirmąją eilutę.
Pagal numatytuosius nustatymus ResultSet objektą galima perkelti tik į priekį ir jis nėra atnaujinamas.
Bet mes galime priversti šį objektą judėti pirmyn ir atgal, perduodami TYPE_SCROLL_INSENSITIVE arba TYPE_SCROLL_SENSITIVE metodu createStatement(int,int), taip pat galime padaryti šį objektą kaip atnaujinamą:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Dažniausiai naudojami ResultSet sąsajos metodai
1) viešasis loginis kitas(): | naudojamas žymekliui perkelti į kitą eilutę nuo dabartinės padėties. |
2) vieša loginė ankstesnė(): | naudojamas žymekliui perkelti į vieną eilutę, buvusią prieš dabartinę padėtį. |
3) pirmiausia viešoji loginė vertė (): | naudojamas žymekliui perkelti į pirmąją rezultatų rinkinio objekto eilutę. |
4) viešasis loginis paskutinis(): | naudojamas žymekliui perkelti į paskutinę rezultatų rinkinio objekto eilutę. |
5) viešasis loginis absoliutus (intoji eilutė): | naudojamas žymekliui perkelti į nurodytą eilės numerį objekte ResultSet. |
6) viešasis loginis giminaitis (tarp eilutė): | naudojamas žymekliui perkelti į santykinį eilutės numerį objekte ResultSet, jis gali būti teigiamas arba neigiamas. |
7) viešasis int getInt(int columnIndex): | naudojamas norint grąžinti nurodytos dabartinės eilutės stulpelio indekso duomenis kaip int. |
8) viešasis int getInt(Eilutės stulpelio pavadinimas): | naudojamas dabartinės eilutės nurodyto stulpelio pavadinimo duomenims grąžinti kaip int. |
9) vieša eilutė getString(int columnIndex): | naudojamas norint grąžinti nurodytos dabartinės eilutės stulpelio indekso duomenis kaip Eilutę. |
10) vieša eilutė getString(Eilutės stulpelio pavadinimas): | naudojamas norint grąžinti nurodytos dabartinės eilutės stulpelio pavadinimo duomenis kaip Eilutę. |
Slenkamojo rezultatų rinkinio pavyzdys
Pažiūrėkime paprastą ResultSet sąsajos pavyzdį, kad gautumėte 3-iosios eilutės duomenis.
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(); }}