Objektet i ResultSet bevarer en markør, der peger på en række i en tabel. Til at begynde med peger markøren på før den første række.
Som standard kan ResultSet-objekt kun flyttes fremad, og det kan ikke opdateres.
Men vi kan få dette objekt til at bevæge sig frem og tilbage ved at sende enten TYPE_SCROLL_INSENSITIVE eller TYPE_SCROLL_SENSITIVE i createStatement(int,int)-metoden, ligesom vi kan gøre dette objekt opdaterbart ved:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Almindeligt anvendte metoder til ResultSet-grænseflade
1) public boolean next(): | bruges til at flytte markøren til den næste række fra den aktuelle position. |
2) offentlig boolesk tidligere(): | bruges til at flytte markøren til den foregående række fra den aktuelle position. |
3) offentlig boolean først(): | bruges til at flytte markøren til den første række i resultatsætobjektet. |
4) offentlig boolesk sidste(): | bruges til at flytte markøren til den sidste række i resultatsætobjektet. |
5) offentlig boolesk absolut (int row): | bruges til at flytte markøren til det angivne rækkenummer i ResultSet-objektet. |
6) offentlig boolesk relativ (int row): | bruges til at flytte markøren til det relative rækkenummer i ResultSet-objektet, kan det være positivt eller negativt. |
7) public int getInt(int columnIndex): | bruges til at returnere data for specificeret kolonneindeks for den aktuelle række som int. |
8) public int getInt(String columnName): | bruges til at returnere dataene for det angivne kolonnenavn for den aktuelle række som int. |
9) public String getString(int columnIndex): | bruges til at returnere dataene for det angivne kolonneindeks for den aktuelle række som streng. |
10) public String getString(String columnName): | bruges til at returnere dataene for det angivne kolonnenavn for den aktuelle række som streng. |
Eksempel på rullebart resultatsæt
Lad os se det enkle eksempel på ResultSet-grænsefladen for at hente dataene fra 3. række.
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(); }}