Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Roccon

Erro ao executar DELETE e INSERT com PreparedStatement

Recommended Posts

Galera, primeiramente bom dia.

Sou novato em Java e estou com um problema que acredito ser bobo.

 

Tenho 1 tabela jTable que recebe os dados do banco de dados. Em cima da tabela, possuo um campo para inserção de valores nela. O problema e que quando eu clico em INCLUIR ele me retorna o erro: org.postgresql.util.PSQLException: Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado.

 

Este erro também acontece que o botão excluir, que pega qual linha está selecionada no banco de dados e tenta excluir o registro.

 

Abaixo vocês podem ver meu código do botão INCLUIR.

private void btnIncludeMouseClicked(java.awt.event.MouseEvent evt) {
    String name = txtName.getText();
    String email = txtEmail.getText();
    String department = txtDepartment.getText();
    String branch = txtBranch.getText();
        
    String sql = "INSERT INTO clients(name, department, email, branch) VALUES('"+name+"', '"+department+"', '"+email+"', '"+branch+"')";
        
    try {
            
        stm = conn.prepareStatement(sql);
        stm.executeUpdate(sql);
            
        getResults();
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex);
    }     
}

O que estou fazendo errado? A conexão com o banco de dados está OK. Para consultar os dados do banco eu utilizei a mesma conexão, só que utilizei executeQuery ao invés de executeUpdate. Se eu utilizar executeQuery ele até funciona, mas gera um erro falando que a consulta não retornou nenhuma linha.

 

Desde já agradeço quem me ajudar! E já aproveitando desejo um Feliz Natal à todos e um ótimo ano novo.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Só uma dica... com o prepared statement vc consegue jogar os valores como parametros e dai não precisa fazer essa String com o SQL ai....

 

e vc tambem consegue ver o id do retorno no update se vc quiser ... eh uma boa para mostrar em quem foi feito o update.

 

e esse metodo getResults()?

 

tenho uns videos bem legais sobre isso de um colega/teacher meu.... vou ver com ele e se vc tiver interesse eu te passo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

kadu_17, bom dia.

 

Eu consegui resolver meus problemas com este conselho seu. Omiti a String SQL e executei diretamente no PreparedStatement e funcionou redondinho. Obrigado pelo conselho.

Eu me interesso pelos vídeos, você tem algum link para baixar?

 

Obrigado mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.