Problema no ResultSet

fala galera to com o seguinte erro :

 rs = stmt.executeQuery(oracleQuery);
            
            while (rs.next()){
                
                //categorias
                catbanco = Integer.parseInt(rs.getString("glca_cod_ctg"));
                codCat = rs.getString("glca_cod_ctg");
               
                descCat = rs.getString("glca_nom_ctg");
                        
                if (cat != catbanco){

quando pego o primeriro valor
catbanco = Integer.parseInt(rs.getString(“glca_cod_ctg”));
ele ja ta me interando para o proximo registro

e no segudo valor
codCat = rs.getString(“glca_cod_ctg”);
a mesma coisa e assim por diante…

ele ja ta me dando um rs.next quando entra no while ja tentei usa o do while mas a cada rs.getString ele me anda um registro.

alguem sabe o q pode ser isso?!

obrigado

tenta assim

while (rs.next()==true){ codigo }

Bom dia!
O “rs.next()” ja te retorno um valor boolean, então não precisa “rs.next() == true”.
Dê uma olhada melhor cara pq isso normalmente não ocorre.
O resultSet so passa pra proxima linha depois do next().
Inicialmente ele está posicionado na linha -1 (em nenhuma linha),
pra usar o doWhile(), primeiro vc terá que colocar na primeira linha com
first().

po ta dando erro ainda, ele vai dando next cada vez que mexo nele
+(

Olá.

Tenta assim:


rs = stmt.executeQuery(oracleQuery);  
do {
                catbanco = Integer.parseInt(rs.getString("glca_cod_ctg"));
                codCat = rs.getString("glca_cod_ctg");
                descCat = rs.getString("glca_nom_ctg");
}while(rs.next());

Com o do, primeiro será executado os parse’s depois ele verifica se a condição no while é verdadeira.

Marck

[code]rs.first();
do {

} while (rs.next());[/code]