Mistério do ResultSet

5 respostas
douglasmorais

eu estava estudando JDBC e tava com um problema, eu queria pegar uma determinada coluna do ResultSet e nao estava conseguindo.
Depois descobri que tinha que fazer um teste antes :

if(rs.last(){

int id = rs.getInt(1);
}

ou seja, eu nao consegui pegar a coluna simplesmente pelo rs.getInt(1).

Depois disso surgiu a dúvida que pra mim é um verdadeiro mistério :

como pode um metodo poder ter sua execução atrelada a um teste ?

Entendi a razao de ter que fazer o teste, senao nao seria possível saber de qual registro eu queria a coluna.

Mas eu queria saber como se constrói um metodo que depende de um teste anterior.

Alguem sabe responder ?

5 Respostas

G

Vai dizer que vc não sabe !

Tá na cara que é M A C U M B A !

Cada um que me aparece…

douglasmorais

Macumba é oque tua mãe deve fazer pra merecer o castigo de ter vc como filho !

A

Não sei se entendi sua dúvida.
Você quer saber como faria pra criar um método que dependesse de um teste?

Ou está reclamando do design da api do resultset?

Se for a primeira opção, na verdade não é que o método depende de um teste.
Ele depende de um método, que faz alguma coisa e além disso, retorna um boolean (daí você pode usar num teste).

Para criar algo assim, você só precisa ter controle do estado do objeto (ter uma flag no objeto, por exemplo).
Se não for executado algum procedimento que ative a flag, o método sempre lança uma exception.

douglasmorais

Obrigado por responder.

A duvida é com relação a primeira opção mesmo. Mas ainda nao ficou claro.
Se puder dar um exemplo via código ficarei grato

G

Você está perguntando pq um método depende de um teste para funcionar?

Se for isso, é pq existe a possibilidade do ResultSet ser vazio, sendo assim, antes de recuperar um dado de um ResultSet vc tem que saber se ele possui algum dado!

Criado 29 de agosto de 2013
Ultima resposta 30 de ago. de 2013
Respostas 5
Participantes 4