Ajuda com Consultar ao Oracle

Pessoal é o seguinte…
preciso pega o valor de uma consulta onde retorna apenas uma coluna e uma unica linha (pois foi registrado apenas uma vez)

olha o código:

[code]public void metodo(){
//variavel que recebera o resultado da consulta
int result = 0;

    String sql = "select idlocacaosaida from retiradafilme";
    try{
        conexao = oracleConexao.conectarBd();
         instrucaoSQL = conexao.createStatement();
         resultado = instrucaoSQL.executeQuery(sql);
         while(resultado.next()){
           
             result=resultado.getInt(1);
             
            }
         //botei esse JOption só para ve se esta pegando o valor correto porem nao pega... pega sempre o valor 0 no qual eu "setei" a variavel
        JOptionPane.showMessageDialog(null,result);
    }
    catch (SQLException sqlE){
        //
    }
    finally{
        finaliza();
    }
}

[/code]
a instrução em SQL "select idlocacaosaida from retiradafilme"
retorna isso:

Creio que seja uma coisa simples… algum detalhezinho que está me passando despercebido…

abraço

Boa Noite

Faça um teste assim:


Statement instrucaoSQL = conexao.createStatement();   
             
ResultSet resultado = instrucaoSQL.executeQuery(sql);   
          
if(resultado.next())
{
     result = resultado.getInt(1);   
}   

Falou.

[quote=Caio Vinicius]Boa Noite

Faça um teste assim:


Statement instrucaoSQL = conexao.createStatement();   
             
ResultSet resultado = instrucaoSQL.executeQuery(sql);   
          
if(resultado.next())
{
     result = resultado.getInt(1);   
}   

Falou.[/quote]

Pode tentar conforme abaixo:

 Statement instrucaoSQL = conexao.createStatement();     
                
 ResultSet resultado = instrucaoSQL.executeQuery(sql);     
             
 if(resultado.next())  
 {  
      result = resultado.getInt("idlocacaosaida");     
 }  

Por boas praticas coloque sempre o nome da coluna, pois se um dia o DBA resolva mudar as posições das colunas de sua tabela. você podera tomar uma Exception ou trazer dados que não queira.

Não funcionou… :frowning:

tentei até mesmo tirar fora o “if” mas tambem num funça…
eu depurei o programa e quando executa não chega entrar dentro do if…

[code]
try{
conexao = oracleConexao.conectarBd();
Statement instrucaoSQL = conexao.createStatement();
ResultSet resultado = instrucaoSQL.executeQuery(sql);

           if(resultado.next()){
             result=resultado.getInt("idlocacaosaida");
         }
            
        JOptionPane.showMessageDialog(null,result);
    }[/code]

o que será que pode está acontecendo?? :roll:

Que tal colocar uma linha de código no catch pra ver se esta caindo no catch

 catch (SQLException sqlE){  
             sqlE.printStackTrace();
         } 

Obrigadu pela colaboração de todos que me ajudaram…

o problema foi resolvido…

COMO??? eu não sei… fiz algumas alterações como citaram aqui…
fechei meu netbeans abri de novo… sei lah não sei exatamente o que aconteceu… hehe :lol:
o importante que está funcionando…

o código que agora está funcionando é este:

[code]
public void metodo(){
int result = 0;

    String sql = "select idlocacaosaida from retiradafilme";
    try{
        conexao = oracleConexao.conectarBd();
         instrucaoSQL = conexao.createStatement();
         resultado = instrucaoSQL.executeQuery(sql); 
         if(resultado.next()){
             result=resultado.getInt("idlocacaosaida");
         }
            
        JOptionPane.showMessageDialog(null,result);
    }
    catch (SQLException sqlE){
        sqlE.printStackTrace();
    }
    finally{
        finaliza();
    }
}[/code]

Obrigaduuuuu… vlw pessoal…