Problem with data change class

Asked

Viewed 42 times

0

I am trying to change data from my BD via Java application, but when I run the following code I get the error (You have an error in your SQL syntax; check the manual that Corresponds to your Mysql server version for the right syntax to use near 'Edit' at line 1).

jButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
                System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                salvaDados();
                String Editar = ("update livros set ISBN='"+isbn+"',"+"titulo_livro='"+titulo+"',"+"autor_livro='"+autor+"',"+"editora_livro='"+editora+"',"+"consignacao='"+consignacao+"',"+"preco='"+preco+"',"+"quantidade='"+quantidade+"' where ISBN='"+Index.cod_ISBN+"'");
                try {
                    Edita.stm.executeUpdate("Editar");
                    Edita.stm.close();
                    Edita.Executar("select * from livros where ISBN='"+Index.cod_ISBN+"'");
                    JOptionPane.showMessageDialog(null,
                    "Alteração de registro efetuada!");
                    Index.atualizaTabela();
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    Index.atualizaTabela();
                    JOptionPane.showMessageDialog(null,
                    "Não foi possível efetuar a alteração do registro!");
                    e1.printStackTrace();
                }

}

private void salvaDados() {
                isbn = jTextField.getText().toString();
                titulo = jTextField1.getText().toString();
                autor = jTextField2.getText().toString();
                editora = jTextField3.getText().toString();
                consignacao = jTextField6.getText().toString();
                preco = jTextField4.getText().toString();
                quantidade = jTextField5.getText().toString();

if (isbn == null || titulo == null || autor == null || editora == null || consignacao == null || preco == null || quantidade == null){
                JOptionPane.showMessageDialog(null, "Certifique-se de que nenhum campo de texto está em branco antes de salvar!");
                }
            }
        });

1 answer

1


In the section below taken from your code you are using a String as argument and not the String type variable. See:

String Editar = ("update livros set ISBN='"+isbn+"',"+"titulo_livro='"+titulo+"',"+"autor_livro='"+autor+"',"+"editora_livro='"+editora+"',"+"consignacao='"+consignacao+"',"+"preco='"+preco+"',"+"quantidade='"+quantidade+"' where ISBN='"+Index.cod_ISBN+"'");
                try {
                    **Edita.stm.executeUpdate("Editar");**
                    Edita.stm.close();
                    Edita.Executar("select * from livros where ISBN='"+Index.cod_ISBN+"'");

Change the highlighted line to:

    Edita.stm.executeUpdate(Editar);

Note: As a matter of convention, choose to start a minuscule variable name.

  • the highlighted line I’m referring to is the line I put asterisks on (**)

  • was exactly that. I don’t know how I missed it

Browser other questions tagged

You are not signed in. Login or sign up in order to post.