Ajuda com Consultar ao Oracle

5 respostas
L

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:
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  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();
        }
    }
a instrução em SQL "select idlocacaosaida from retiradafilme" retorna isso: [img]http://img132.imageshack.us/img132/843/consulllta.jpg[/img]

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

abraço

5 Respostas

C

Boa Noite

Faça um teste assim:

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

Falou.

willricardo

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.

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.

L

Não funcionou... :(

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...

try{
            conexao = oracleConexao.conectarBd();
            Statement instrucaoSQL = conexao.createStatement();
            ResultSet resultado = instrucaoSQL.executeQuery(sql); 
            
               if(resultado.next()){
                 result=resultado.getInt("idlocacaosaida");
             }
                
            JOptionPane.showMessageDialog(null,result);
        }

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

furutani

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

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

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:

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();
        }
    }

Obrigaduuuuu... vlw pessoal...

Criado 23 de julho de 2009
Ultima resposta 23 de jul. de 2009
Respostas 5
Participantes 4