Função SQL via JDBC

6 respostas
F

Galera, vejam o segiunte código:

public int getLastIndex(){
        String sql = "select max(cod_curso) as teste from curso";
        try{
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        
        System.out.println(); //Oque devo colar aki pra exibir o retorno da consulta ?
        //obs. Ja tentei pegar rs.getInt("teste");
    }catch(SQLException ex){
    
    }
        return 0;
    }

Como faço para pegar o valor de retorno dessa consulta. Grande abraço. Felipe Nemeth

6 Respostas

eduardoluiz.ribeiro

fala, brother vc pode resolver colocando assim

public int getLastIndex(){   
        String sql = "select max(cod_curso) as teste from curso";   
        try{   
        Statement stmt = con.createStatement();   
        ResultSet rs = stmt.executeQuery(sql);   
         if(rs.next()){
                System.out.println(rs.getInt("teste"));      
         }  
   
    }catch(SQLException ex){   
       
    }   
        return 0;   
    }

bom eu n tive tempo de testar mas uso uma função parecida que é a count() (para me dar o valor total) assim
falous!

F

eduardoluiz.ribeiro:
fala, brother vc pode resolver colocando assim

public int getLastIndex(){   
        String sql = "select max(cod_curso) as teste from curso";   
        try{   
        Statement stmt = con.createStatement();   
        ResultSet rs = stmt.executeQuery(sql);   
         if(rs.next()){
                System.out.println(rs.getInt("teste"));      
         }  
   
    }catch(SQLException ex){   
       
    }   
        return 0;   
    }

bom eu n tive tempo de testar mas uso uma função parecida que é a count() (para me dar o valor total) assim
falous!

Hummm isso mesmo kra, valeu. É necessário mover o cursor para a primeira linha. Grande abraço kra, brigadão.

eduardoluiz.ribeiro

:smiley: de boa!! rsrs boa sorte velhinho!

sergiotaborda

fenemeth:
Galera, vejam o segiunte código:

public int getLastIndex(){
        String sql = "select max(cod_curso) as teste from curso";
        try{
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        
        System.out.println(); //Oque devo colar aki pra exibir o retorno da consulta ?
        //obs. Ja tentei pegar rs.getInt("teste");
    }catch(SQLException ex){
    
    }
        return 0;
    }

Como faço para pegar o valor de retorno dessa consulta.

Do jeito que vc tentou. mas faltou uma coisa antes

public int getLastIndex(){
        String sql = "select max(cod_curso) as teste from curso";
    
 try{
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        
        if ( rs.next(){
            System.out.println(rs.getInt("teste")); 
       }

    }catch(SQLException ex){
    
    }

Utilize PreparedStatement e não Statement para melhorar a performance.

eduardoluiz.ribeiro

pow interessante eu n sabia que havia diferença de performace entre eles (se bem que isso justifica eles fazerem a mesma coisa né…) rsrs até então pra mim era tudo a mesma coisa mas valew a dica!

java.rco

Nunca testei a questão da performance entre o Statement e o PreparedStatement a diferença é que o preparedStatement precompila a query no banco então isso gera um ganho de performance.

Se houver necessidade de usar Statement e não perder esse ganho pela pre compilação da query, é só vc declarar sua query como uma variável statica no inicio da sua classe e ela será pre compilada no banco também.

Criado 25 de junho de 2008
Ultima resposta 26 de jun. de 2008
Respostas 6
Participantes 4