Mostrar valor em JoptionPane (Resolvido!)

11 respostas
programaçãojava
R

Boa noite senhores.
Minha duvida é

Tenho um botão que tem a função de mostrar quantos registros tenho no banco a partir do SQL
"Count", quero que ao clicar no botão uma mensagem em joptionPane seja mostrada com o numero de registros que tenho no banco.
fiz dessa forma porem não esta dando certo,
private void btnContadorMouseClicked(java.awt.event.MouseEvent evt) {

String sql = "SELECT COUNT (*) FROM cadastro_clientes";
try {
    rs = pst.executeQuery(sql);
    JOptionPane.showMessageDialog(null, "Numero de Registros" + sql);
} catch (SQLException ex) {
    JOptionPane.showMessageDialog(null, ex);
}
}

alguem pode me ajudar.

11 Respostas

S

não deu certo porque?? retorna algum erro? poste a stacktrace

R

Me retorna a seguinte mensagem de erro;
org.postgressql.util.psqlException: Não pode utilizar métodos de consulta que pegam uma consulta de comando preparado.

H

Jovem, você não vai conseguir receber a quantidade de registro em seu banco de dados printando a variável SQL não…

O seu problema é igual o meu, também procuro apresentar a quantidade de registro que contém no meu banco mas em Java tá sendo um mistério, até agora ninguem se pronunciou.

Em C# foi fácil agora em Java…

S

velho voce não pode colocar a query dentro do executeQuery, primeiro tem que carregar no PreparedStatement depois chamar o executeQuery

abaixo um exemplo mais ou menos como deve funcionar

String sql = "SELECT COUNT (*) FROM cadastro_clientes";
    PreparedStatement pst = conection.getConection().prepareStatement(sql);  
            ResultSet rs = pst.executeQuery();
H

Mesmo assim, não vai retornar o número de registros que ele contém no banco de dados.

H

Tem mais coisas após seu código @Sandro_Machado que também quero descobrir e preciso de ajuda de vocês pra apresentar quantos registros tem no banco. :confused:

R

ainda nao consegui, mesmo após a ajuda dos caros, tentei remodelando dessa forma.

private void btnContadorMouseClicked(java.awt.event.MouseEvent evt) {                                         

        String sql = "SELECT COUNT (*) FROM cadastro_clientes";
        try {
            //rs = pst.executeQuery(sql);
            
             rs = pst.executeQuery(sql);
             rs.next();
             rs.getInt(1);
            
             
            JOptionPane.showMessageDialog(null, "Numero de Registros" + rs);
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
        

    }

Porem nad adiantou.

att.

H

Minha lógica tá igual a sua e também não puxa nada hahahaha.
Se você souber de algo me manda msg no pvt. Tô pesquisando aqui, qualquer coisa te aviso também.

R

blz fi, aviso sim.
achando uma solução ja lhe passo tbm.
caso consiga alguma coisa por favor me informe tbm

R

Cara Consegui aqui!

eu estava passando um sql dentro do preparedStatement como parâmetro nesta consulta.
Porem essa variável já estava sendo utilizada no corpo do programa.
Então eu declarei uma nova variável (resultado) pra pegar o valor do resultSet.

private void btnContadorMouseClicked(java.awt.event.MouseEvent evt) {                                         

        String contador = "SELECT COUNT (*) FROM cadastro_clientes";
        try {
                      
             rs = pst.executeQuery();
             rs.next();
             int resultado = rs.getInt(1);
            
             
            JOptionPane.showMessageDialog(null, "Numero de Registros encontrados no banco : " + resultado);
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }

    
    }
H

Olha o meu problema:

http://www.guj.com.br/t/nao-consigo-contar-quantos-registros-tenho-na-minha-tabela/?source_topic_id=335643

Vê se consegue vê o que é… porque é o mesmo problema que o seu e não tá resolvendo.

Criado 19 de setembro de 2016
Ultima resposta 20 de set. de 2016
Respostas 11
Participantes 3