logo

ResultSet interface

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