Pessoal, ao rodar minha aplicacao ocorreu o seguinte erro:
o codigo é o seguinte:
[quote] while (!rs.isAfterLast() && coluna <= qtdMeses
&& rs.getString(“RAZAOSOCIAL”) == csa_atual) {
if (mesAtual != 12)
mesAtual = dataIni.getMonth() + coluna;
else if (coluna == 0)
mesAtual = 12;
else
mesAtual = 1;
if (rs.getDate(“DTFECHAMENTO”).getMonth() != mesAtual) {
Matriz[linha][coluna * 2 + 1] = new Double(0);
Matriz[linha][coluna * 2 + 2] = new Double(0);
} else {
Matriz[linha][coluna * 2 + 1] = new Double(rs
.getString(“QTDOS”));
Matriz[linha][coluna * 2 + 2] = new Double(rs
.getString(“VALOROS”));
rs.next();
}[/quote]
será que é porque eu nao estou recebendo o boolean que o metodo next retorna?!
Obrigado,
Fernando
_fs
Abril 5, 2006, 10:19am
#2
while (!rs.isAfterLast() && coluna <= qtdMeses
&& rs.getString("RAZAOSOCIAL") == csa_atual) {
É necessário fazer um rs.next() antes de rs.getString( “RAZAOSOCIAL” ).
Obrigado!
vou testar…
mas vc pode me falar pq isso?
Seria pq eu presumi que o cursor do resultset estaria no primeiro registro,
mas na verdade ele nao comeca no comeco :?: :?:
nao poderia resolver dando um rs.first() antes?
Grato,
Fernando Almeida
Acho que o cursor fica antes do primeiro registro…
realmente…
acho q o cursor fica antes do primeiro…
agora minha duvida é:
pq .next()
e nao .first()?!
_fs
Abril 5, 2006, 10:53am
#6
Se não me engano alguns drivers não implementam .first().
mais uma duvida pessoal!
meu cursor esta no ultimo registro do meu result set
e eu dou um rs.next()
oq acontece?
a-) ele retorna false e leva o cursor pra o proximo registro (fazendo com que a funcao isAfterLast() retorne true)
b-) ele retorna true e leva o cursor pra o proximo registro (fazendo com que a funcao isAfterLast() retorne true)
c-) ele retorna false e nao anda com o cursor
d-) ele retorna true e nao anda com o cursor
e-) n.d.a
Espero resposta,
Obrigado!!
1112
Abril 5, 2006, 1:23pm
#8
Ele retorna false. Imagino eu que o método isAfterLast() seja true após esta chamada.
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html
Nunca ouvi falar de “isAfterLast”. O método padrão de se andar em um recordset é algo como
while (rs.next()) {
}