Manipulando resultados da consulta

Os métodos da interface ResultSet permitem a manipulação dos resultados individuais de uma tabela de resultados. Métodos como getDouble(int col), getInt(int col), getString(int col) e getTime(int col) permitem acessar o valor da coluna especificada na tupla corrente para os diversos tipos de dados suportados.

Para varrer a tabela, um cursor é mantido internamente no objeto dessa classe. Inicialmente, ele está posicionado no início da tabela (antes do primeiro registro), mas pode ser manipulado pelos métodos first(), next(), previous(), last() e absolute(int row).

Por exemplo,

ResultSet r = s.executeQuery("Select * from Clientes");
System.out.println("ID       NOME");
while (r.next())
   System.out.println(r.getString("ClienteID")+
                      "  " + r.getString("Nome"));
r.close();
    

Para lidar com atributos que podem assumir valores nulos, o método wasNull() é oferecido. Ele retorna verdadeiro quando o valor obtido pelo método getXXX() for nulo.

A interface ResultSetMetadata permite obter informação sobre a tabela com o resultado da consulta. Um objeto desse tipo pode ser obtido através da aplicação do método getMetaData() ao ResultSet:

    ResultSetMetaData m = r.getMetaData();
    

Uma vez obtido esse objeto, a informação desejada pode ser obtida através de métodos tais como int getColumnCount(), String getColumnLabel(int col), String getColumnTypeName(int col) e int getColumnType(int col). Este último método retorna tipos que podem ser idntificados a partir de constantes definidas para a classe java.sql.Types.