Boa noite, estou tendo um problema quando faço a alteração do cadastro de um cliente em uma aplicação java que possui ligação com o banco
ele da o seguinte erro: 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 ‘where codigo = 1’ at line 1
meu método de alterar segue abaixo
@Override
public void alterar(Clientes obj) throws Exception
{
String sql = "update cliente set " + "nome = ?," + "diaCadastro = ?," + "cpf = ?," + "rg = ?," + "rua = ?,"
+ "numero = ?," + "bairro = ?," + "cidade = ?," + "estado = ?," + "cep = ?," + "representante = ?,"
+ "telefoneFixo = ?," + "telefoneCelular = ?," + "cliente = ?," + "ativo = ?," + "where codigo = ?";
try
{
// Abrindo conexão
FabricaDeConexoes.abrir();
// Declaração
PreparedStatement stmt = FabricaDeConexoes.getConexao().prepareStatement(sql);
stmt.setString(1, obj.getNome());
// Objeto date sql
Date diaCadastro = new Date(obj.getDiaCadastro().getTime());
stmt.setDate(2, diaCadastro);
stmt.setString(3, obj.getCpf());
stmt.setString(4, obj.getRg());
stmt.setString(5, obj.getRua());
stmt.setString(6, obj.getNumero());
stmt.setString(7, obj.getBairro());
stmt.setString(8, obj.getCidade());
stmt.setString(9, obj.getEstado());
stmt.setString(10, obj.getCep());
stmt.setString(11, obj.getRepresentante());
stmt.setString(12, obj.getTelefoneFixo());
stmt.setString(13, obj.getTelefoneCelular());
stmt.setInt(14, obj.getTipoCliente().ordinal());
stmt.setBoolean(15, obj.isAtivo());
stmt.setInt(16, obj.getCodigo());
// Executando sql
stmt.execute();
}
catch (Exception e)
{
throw e;
}
finally
{
// fechando conexão
FabricaDeConexoes.fechar();
}
}
esse problema ta tirando meu sono, pois não consigo achar esse erro de syntax, desde ja agradeço