1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro SQL syntax no Update Mysql

Pessoal, estou com um erro estranho ao tentar fazer alteração nos dados de uma tabela, retorna erro na sintaxe 'where aluno_id=1043'. Quando uso o query browser não dá erro nenhum.

 public void AlteraAluno(Aluno a, Integer matricula) {

        String sql = "UPDATE Aluno SET Aluno_id= ?,Aluno_nome= ?,Aluno_nascimento= ?,Aluno_obs= ? ,Aluno_fone= ?,Aluno_validade= ?, Aluno_senha= ?,Aluno_fone_cel= ?, WHERE Aluno_id =? ";

        try {

            PreparedStatement pstm = (PreparedStatement) new Conexao().getConexao().prepareStatement(sql);

            pstm.setInt(1, a.getAlunoId());
            pstm.setString(2, a.getAlunoNome());
            Date nascimentoOk = a.getAlunoNascimento();
            java.sql.Date dataSqlNasc = new java.sql.Date(nascimentoOk.getTime());
            pstm.setDate(3, dataSqlNasc);
            pstm.setString(4, a.getAlunoObs());
            pstm.setString(5, a.getAlunoFone());
            Date validadeOk = a.getAlunoValidade();
            java.sql.Date dataSqlValid = new java.sql.Date(validadeOk.getTime());
            pstm.setDate(6, dataSqlValid);
            pstm.setString(7, a.getAlunoSenha());
            pstm.setString(8, a.getAlunoFoneCel());
            pstm.setInt(9, matricula);
            pstm.executeUpdate();
            JOptionPane.showMessageDialog(null, "Alterado");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "erro ao tentar alterar o registro" + e);
        }
    }

o valor que se refere ao aluno_id está sendo enviado corretamente... Muito Obrigado!

  • O err completo só é esse ai?

    Pablo Ferreira Rocha   22 de jul de 2015
  • Olá, ERRO: check the manual that corresponds to your mysql server version for the right syntax to use near ' WHERE ALUNO_ID=1043' at line 1

    Jrmanzini   22 de jul de 2015
  • Veja a query que ele gera no console do servidor e poste aqui. Ah faça um teste, apague pstm.setInt(1, a.getAlunoId()); e veja se da erro na próxima linha.

    Pablo Ferreira Rocha   22 de jul de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java mysql swing ou faça a sua própria pergunta.