[Resolvido] Erro no executeUpdate();

10 respostas
E

Olá pessoal estou com o seguinte “problema”, meu código está funcionando corretamente, sem nenhum erro de sintaxe ou compilação.
Mas o executeUpdate(); que atualizaria os dados em meu banco não atualiza.

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

try{
        //Carregando o Driver
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Driver carregado com sucesso");

        //Cria variável de conexão
        Connection con;

        //Criando a conexão
        con = DriverManager.getConnection("jdbc:mysql://localhost/AulaJdbc","root","123");
        System.out.println("SQL OK");
        
        //String para inserir no banco
        String query="INSERT INTO cliente (Nome,Endereco,Cpf) VALUES (?,?,?)";

       

        //Cria a conexão
        PreparedStatement stmt = con.prepareStatement(query);

        //seta os valores
        stmt.setString(1, jTextField1.getText());
        stmt.setString(2, jTextField2.getText());
        stmt.setString(3, jTextField3.getText());

       stmt.executeUpdate();//[color=red][b]<--------------Aqui está erro[/b][/color]
      
        
        //fecha
        stmt.close();
        con.close();

    }catch(ClassNotFoundException e){//Caso não encontre a classe
        System.out.println("Não foi possível encontrar a classe");
    }catch(SQLException ex){
        System.out.println("Ocorreu um erro de SQL!");
    }



}

10 Respostas

andbecker

acho que seri stmt.executeQuery()

E

Olá andbecker, já tentei mas não deu certo. O interessante é que se eu tirar esta parte não aparece nenhum erro, porém não atualiza o Banco.

Anime

Oi,

Imprima o StackTrace…

catch(SQLException erro) {
    JOptionPane.showMessageDialog(null,"Erro,ao listar");
    erro.printStackTrace(); //isso vai imprimir a pilha de exceções no console, indicando, dentre outras informacoes, a linha que deu problema.
}
E

Usei a linha de instrução que me indicou e esse foi o erro, ainda não aprendi a olhar estas linhas se puder me dar uma dica. Outra dúvida, como é que vocês colocam o código com a indentação parecida com a do net beans, fica muito mais fácil olhar o código.

java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)

at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:434)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2182)

at view.JCadClienteView.jButton2ActionPerformed(JCadClienteView.java:212)

at view.JCadClienteView.access$000(JCadClienteView.java:17)

at view.JCadClienteView$1.actionPerformed(JCadClienteView.java:135)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)

at java.awt.Component.processMouseEvent(Component.java:6203)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5968)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4564)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)

at java.awt.EventQueue.access$000(EventQueue.java:96)

at java.awt.EventQueue$1.run(EventQueue.java:608)

at java.awt.EventQueue$1.run(EventQueue.java:606)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)

at java.awt.EventQueue$2.run(EventQueue.java:622)

at java.awt.EventQueue$2.run(EventQueue.java:620)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)

at java.awt.Dialog$1.run(Dialog.java:1072)

at java.awt.Dialog$3.run(Dialog.java:1126)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:1124)

at java.awt.Component.show(Component.java:1496)

at java.awt.Component.setVisible(Component.java:1448)

at java.awt.Window.setVisible(Window.java:842)

at java.awt.Dialog.setVisible(Dialog.java:1011)

at view.JPrincipal.jMenuItem1ActionPerformed(JPrincipal.java:75)

at view.JPrincipal.access$000(JPrincipal.java:18)

at view.JPrincipal$1.actionPerformed(JPrincipal.java:46)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.AbstractButton.doClick(AbstractButton.java:374)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)

at java.awt.Component.processMouseEvent(Component.java:6203)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5968)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4564)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)

at java.awt.EventQueue.access$000(EventQueue.java:96)

at java.awt.EventQueue$1.run(EventQueue.java:608)

at java.awt.EventQueue$1.run(EventQueue.java:606)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)

at java.awt.EventQueue$2.run(EventQueue.java:622)

at java.awt.EventQueue$2.run(EventQueue.java:620)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Anime

Sobre o erro,Use o executeQuery para seus Selects… Use o executeUpdate para Inserts e Updates.

Para postar seus códigos…http://www.guj.com.br/posts/list/50115.java

E

Eu estou usando o executeUpdate(), é que no momento em que copiei o código estava testando o executeQuery();
Existe uma linha específica para encontrar o erro nesta citação abaixo?

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table AulaJdbc.cliente doesnt exist

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:532)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)

at com.mysql.jdbc.Util.getInstance(Util.java:382)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)

at view.JCadClienteView.jButton2ActionPerformed(JCadClienteView.java:212)

at view.JCadClienteView.access$000(JCadClienteView.java:17)

at view.JCadClienteView$1.actionPerformed(JCadClienteView.java:135)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)

at java.awt.Component.processMouseEvent(Component.java:6203)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5968)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4564)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)

at java.awt.EventQueue.access$000(EventQueue.java:96)

at java.awt.EventQueue$1.run(EventQueue.java:608)

at java.awt.EventQueue$1.run(EventQueue.java:606)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)

at java.awt.EventQueue$2.run(EventQueue.java:622)

at java.awt.EventQueue$2.run(EventQueue.java:620)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)

at java.awt.Dialog$1.run(Dialog.java:1072)

at java.awt.Dialog$3.run(Dialog.java:1126)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:1124)

at java.awt.Component.show(Component.java:1496)

at java.awt.Component.setVisible(Component.java:1448)

at java.awt.Window.setVisible(Window.java:842)

at java.awt.Dialog.setVisible(Dialog.java:1011)

at view.JPrincipal.jMenuItem1ActionPerformed(JPrincipal.java:75)

at view.JPrincipal.access$000(JPrincipal.java:18)

at view.JPrincipal$1.actionPerformed(JPrincipal.java:46)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.AbstractButton.doClick(AbstractButton.java:374)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)

at java.awt.Component.processMouseEvent(Component.java:6203)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:5968)

at java.awt.Container.processEvent(Container.java:2105)

at java.awt.Component.dispatchEventImpl(Component.java:4564)

at java.awt.Container.dispatchEventImpl(Container.java:2163)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)

at java.awt.Container.dispatchEventImpl(Container.java:2149)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4390)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)

at java.awt.EventQueue.access$000(EventQueue.java:96)

at java.awt.EventQueue$1.run(EventQueue.java:608)

at java.awt.EventQueue$1.run(EventQueue.java:606)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)

at java.awt.EventQueue$2.run(EventQueue.java:622)

at java.awt.EventQueue$2.run(EventQueue.java:620)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Anime

Eu olho principalmente a primeira linha, ela está dizendo que a tabela não existe…

E

Obrigado pela informação Anime, realmente a tabela cliente é Cliente.
Quanto a linha ex.printStackTrace(); serve para nos mostrar onde estaria o erro, posso utilizar em todos os ‘catches’?

Anime

edge:
Obrigado pela informação Anime, realmente a tabela cliente é Cliente.
Quanto a linha ex.printStackTrace(); serve para nos mostrar onde estaria o erro, posso utilizar em todos os ‘catches’?

Por nada, pode sim… :stuck_out_tongue:

W

no me caso, na hora de fazer a inserção no banco um campo não aceitava o valor null … só fui descobrir depois de usar o printStackTrace(); valew :smiley:

Criado 17 de abril de 2011
Ultima resposta 11 de set. de 2012
Respostas 10
Participantes 4