logo

Interface do conjunto de resultados

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