Problemas com executeQuery

6 respostas
wamarra

e ae galera,

Estou tentando fazer uma alteração em um campo de uma tabela do meu banco de dados, mas só cai na exceção, dando o seguinte erro:

Can not issue data manipulation statements with executeQuery().

Segue o código abaixo:

private void AlterarServicosJuridico(java.awt.event.ActionEvent evt) {                                         
        try {
                Class.forName("com.mysql.jdbc.Driver");
                String url = "jdbc:mysql://localhost:3306/gerpro";
                String usuario = "root";
                String senha = "admin";
                Connection con;
                con = DriverManager.getConnection(url, usuario, senha);
                PreparedStatement ps = con.prepareStatement("UPDATE servicosjuridico SET servico = ? AND descricaoDoServico = ?");
                ps.setString(1, cxTxtJurServicos.getText());
                ps.setString(2, cxTxtJurDesServicos.getText());
                
                ResultSet rs = ps.executeQuery();
                
                con.close();
        }catch (ClassNotFoundException e){
                JOptionPane.showMessageDialog(null, "Falha na conexão com o banco de dados.\n" + e.getMessage());
                        e.printStackTrace();
        }catch (SQLException e){
                JOptionPane.showMessageDialog(null, "Erro ao tentar alterar o serviço.\n"+ e.getMessage(),"Mensagem do Programa",
                        JOptionPane.ERROR_MESSAGE);
                    e.printStackTrace();
        }
}

Caso possam me ajudar
Desde já agradeço

6 Respostas

messias.sjs

Será que este select está certo? Pelo pouco q entendo vc tem q fazer assim: UPDATE servicosjuridico SET servico = ? AND descricaoDoServico = ? where campo_tal=?, onde campo tal é uma referência para indicar qual linha vc quer atualizar.

wamarra

Olá Messias,

fiz o que me falou porém o erro continua.

Caso tenha outra idéia me ajude

vlw

G

Substitua a linha

por

A

Wesley Marra, já aconteceu isso comigo mas no meu caso faltou eu acrescentar a biblioteca, não sei se no seu caso esta tudo ok.

Abraço.

wamarra

Valeu galera,

Vou fazer os testes e posto aqui.

vlw?

abraços

wamarra
E ae galera, Fiz algumas mudanças e agora o meu código está assim:
try {   
                Class.forName("com.mysql.jdbc.Driver");   
                String url = "jdbc:mysql://localhost:3306/gerpro";   
                String usuario = "root";   
                String senha = "admin";   
                Connection con;   
                con = DriverManager.getConnection(url, usuario, senha);   
                PreparedStatement ps = con.prepareStatement("UPDATE servicosjuridico SET servico = ? AND descricaoDoServico = ?" +
                        "WHERE servico = ?");   
                ps.setString(1, cxTxtAlterarServicoJuridico.getText());   
                ps.setString(2, cxTxtAlterarDesServicoJuridico.getText());
                ps.setString(3, (String) comboEdiJurSerSelecionar.getSelectedItem());
                   
                ps.executeUpdate();   
                   
                con.close();   
        }catch (ClassNotFoundException e){   
                JOptionPane.showMessageDialog(null, "Falha na conexão com o banco de dados.\n" + e.getMessage());   
                        e.printStackTrace();   
        }catch (SQLException e){   
                JOptionPane.showMessageDialog(null, "Erro ao tentar alterar o serviço.\n"+ e.getMessage(),"Mensagem do Programa",   
                        JOptionPane.ERROR_MESSAGE);   
                    e.printStackTrace();   
        }

Agora está dando outro erro:

[color=red]com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'Ajuizar Moradores'[/color]

Caso possam me ajudar...
Valeu mesmo
Brigadaum

Criado 13 de novembro de 2007
Ultima resposta 15 de nov. de 2007
Respostas 6
Participantes 4