O objeto de ResultSet mantém um cursor apontando para uma linha de uma tabela. Inicialmente, o cursor aponta para antes da primeira linha.
Por padrão, o objeto ResultSet só pode ser movido para frente e não é atualizável.
Mas podemos fazer com que este objeto se mova para frente e para trás passando TYPE_SCROLL_INSENSITIVE ou TYPE_SCROLL_SENSITIVE no método createStatement(int,int), bem como podemos tornar este objeto atualizável por:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Métodos comumente usados da interface ResultSet
1) booleano público próximo(): | é usado para mover o cursor para a linha seguinte da posição atual. |
2) público booleano anterior(): | é usado para mover o cursor para uma linha anterior à posição atual. |
3) booleano público primeiro(): | é usado para mover o cursor para a primeira linha no objeto do conjunto de resultados. |
4) último booleano público(): | é usado para mover o cursor para a última linha no objeto do conjunto de resultados. |
5) absoluto booleano público (linha interna): | é usado para mover o cursor para o número da linha especificado no objeto ResultSet. |
6) relativo booleano público (linha interna): | é usado para mover o cursor para o número relativo da linha no objeto ResultSet, pode ser positivo ou negativo. |
7) public int getInt(int colunaIndex): | é usado para retornar os dados do índice da coluna especificada da linha atual como int. |
8) public int getInt (String nome da coluna): | é usado para retornar os dados do nome da coluna especificada da linha atual como int. |
9) String pública getString (int colunaIndex): | é usado para retornar os dados do índice da coluna especificado da linha atual como String. |
10) String pública getString (String nome da coluna): | é usado para retornar os dados do nome da coluna especificada da linha atual como String. |
Exemplo de ResultSet rolável
Vejamos o exemplo simples da interface ResultSet para recuperar os dados da 3ª linha.
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(); }}