Boa tarte a todos…
estou com problemas para pegar o resultado de uma determinada query.
qualquer select normal que eu execute funciona numa boa, mas quando faço para pegar o nextval de uma sequence, não consigo…retona sempre a mensagem : Nome de coluna inválido…
minhas tentativas:
Olá “heleno_fn”, abaixo seguem 2 códigos de exemplo que funcionam perfeitamente.
stmt=cnx.prepareStatement("SELECT SEQ_SGW_UPLOAD.NEXTVAL QTD FROM DUAL");rs=stmt.executeQuery();if(rs!=null){if(rs.next()){cdupload=rs.getLong("QTD");rs.close();stmt.close();}else{//}}else{//}
e,
stmt=cnx.prepareStatement("SELECT SEQ_GRH_PRETENDENTE.NEXTVAL QTD FROM DUAL");rs=stmt.executeQuery();if(rs!=null){if(rs.next()){cdPretendente=rs.getString(1);rs.close();stmt.close();}else{//}}else{//}
[]´s
E
e_ciattei
suponho que vc esteja usando o Oracle, bem… o Nextval é para pegar um número da sequencia e não para ver qual o valor atual, então você está querendo usar em um select a função de dar um novo valor da sequencia e isso não vai dar certo nunca, o nextval é para ser usado em um insert ou update onde vc pede o valor seguinte a sequencia, se vc quer ver o valor atual da sequencia eu esqueci o comando e assim que lembrar eu posto, vou dar um exemplo do uso do nextval
“INSERT INTO T_EXEMPLO (TEXTO,ID) VALUES (‘TESTE DE TESTO’,SEQUENCIA.NEXTVAL)”
esse comando vai fazer com que a sequencia de um novo valor a esse registro como vc pode ver a indéia não se aplicaria a um select.
H
heleno_fn
obrigado pelas respostas amigos,
Não posso ainda dizer que consegui…mas assim que conseguir tempo para testar eu volto a comentar o resultado aqui…vlw msm…
So uma coisa… o meu objetivo ali é justamente incrementar a sequence(o que funciona, td vez q testo ela é incrementada), so não consigo pegar o valor que ela obteve.
vlw…chegando em casa se tudo correr bem eu testo…obrigado