resultSet

6 respostas
W

Bom dia !

Como faço para pegar o resultado da consulta através do resultSet rs.
Lembrando que : “SELECT MAX(idRemedio) FROM remedio”; pegar o maior valor da tabela remedio.
pois idRemedio é uma coluna de uma tabela e está como AUTO_INCREMENTO no banco de dados mysql

public boolean inserirDados(Usuario usuario, PrescricaoRemedioDAO pscRemedio) {
        Medicamento medicamento = new Medicamento();
        
        Connection con = Conexao.conectar();
        String consulta = "SELECT MAX(idRemedio) FROM remedio";         
              
        try {
            
            PreparedStatement pst = con.prepareStatement(consulta);
            ResultSet rs = pst.executeQuery();
            if(rs.next()){
                int v = rs.getInt("idRemedio");         
    
            }                      
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        }        
       return false;
    }

6 Respostas

duduribeiro

tenta substituir o

por

pois assim você pega a coluna por indice, e não pelo nome no banco.
[]'s

W

Pessoal, achei a forma de fazer, obrigado a todos. Não tinha conseguido até então.

W

duduribeiro:
tenta substituir o

por

pois assim você pega a coluna por indice, e não pelo nome no banco.
[]'s

Muito obrigado, mas antes de fazer postar tinha feito um teste e consegui. Claro depois de vários testes.
mas tinha colocado 1 e deu certo : Mas alguém sabe por que 1? pois está passando como parâmetro o valor 1 isso que dizer o que?
Pois quando usa rs.getString(“NOMEDOCAMPODATABELA”), agora rs.getInt(1), ele está pegando um int mas de forma?

if(rs.next()){
                int v = rs.getInt(1);                 
                
                JOptionPane.showMessageDialog(null, "ID REmedoi :"+v);
            }
V

Boa tarde no próprio javadoc da api tem a explicação.NO caso o número 1 corresponde a primeira coluna do seu resultSet, caso vc queira recuperar pelo nome da coluna basta passar a String que corresponde ao nome da coluna no seu resultSet.

W

Valeu Wagner e outra coisa rs.getInt(1). ele pega o id do ultimo registro. RESUMINDO : 1 coluna e ultimo id

V

Ele pega a primeira coluna da linha corrente do seu resultSet. No seu caso, como ele só traz o max terá só um registro.

Criado 13 de junho de 2011
Ultima resposta 13 de jun. de 2011
Respostas 6
Participantes 3