Ocorreu um erro: You have an error in your SQL syntax
Galera quando eu vou alterar o arquivo da seguinte mensagem: (somente na funcao alterar, na incluir, consultar ou excluir funciona normalmente)
o codigo do arquivo:
[b]
Ocorreu um 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 = 10' at line 1[/b]
codigo:
[/b]
public boolean alterar(Fornecedor fornecedor) throws Exception { // inicio do método alterar
String sqlSelect = "SELECT * FROM fornecedor WHERE codigo = ?";
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmtSelect = conn.prepareStatement(sqlSelect);
stmtSelect.setInt(1, fornecedor.getCodigo());
ResultSet rs = stmtSelect.executeQuery();
boolean fornecedorExiste = rs.next();
if (fornecedorExiste == true) {
String sqlUpdate = "UPDATE fornecedor SET nome = ?, endereco = ?, telefone = ?, cnpj = ?, email = ?, login = ?, senha = ?, data_cadastro = ?, WHERE codigo = ?";
PreparedStatement stmtUpdate = conn.prepareStatement(sqlUpdate);
stmtUpdate.setString(1, fornecedor.getNome());
stmtUpdate.setString(2, fornecedor.getEndereco());
stmtUpdate.setString(3, fornecedor.getTelefone());
stmtUpdate.setString(4, fornecedor.getCnpj());
stmtUpdate.setString(5, fornecedor.getEmail());
stmtUpdate.setString(6, fornecedor.getLogin());
stmtUpdate.setString(7, fornecedor.getSenha());
stmtUpdate.setDate(8, new java.sql.Date(fornecedor.getData_cadastro().getTime()));
stmtUpdate.setInt(9, fornecedor.getCodigo());
stmtUpdate.executeUpdate();
stmtUpdate.close();
stmtSelect.close();
rs.close();
ConnectionFactory.closeConnection(conn);
return true;
}
stmtSelect.close();
rs.close();
ConnectionFactory.closeConnection(conn);
return false;
}Kanye West
Curtidas 0
Respostas
André Pereira
18/10/2013
[quote="kanyewest"]Galera quando eu vou alterar o arquivo da seguinte mensagem: (somente na funcao alterar, na incluir, consultar ou excluir funciona normalmente)
o codigo do arquivo:
[b]
Ocorreu um 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 = 10' at line 1[/b]
codigo:
[/b]
A mensagem esta falando tudo, vamos a tradução.
[b]
Ocorreu um 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 = 10' at line 1[/b]
[b]Tradução: [/b]Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde para sua versão do MYSQL Server para a corrigir a sintaxe usado próximo "WHERE codigo = 10" na linha 1
Agora basta vc olhar sua sintaxe próximo da onde a mensagem esta informando.
O erro esta na vírgula antes da cláusula [b][color=blue]WHERE[/color][/b]. Basta tira-la dessa forma:
public boolean alterar(Fornecedor fornecedor) throws Exception { // inicio do método alterar
String sqlSelect = "SELECT * FROM fornecedor WHERE codigo = ?";
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmtSelect = conn.prepareStatement(sqlSelect);
stmtSelect.setInt(1, fornecedor.getCodigo());
ResultSet rs = stmtSelect.executeQuery();
boolean fornecedorExiste = rs.next();
if (fornecedorExiste == true) {
String sqlUpdate = "UPDATE fornecedor SET nome = ?, endereco = ?, telefone = ?, cnpj = ?, email = ?, login = ?, senha = ?, data_cadastro = ?, WHERE codigo = ?";
PreparedStatement stmtUpdate = conn.prepareStatement(sqlUpdate);
stmtUpdate.setString(1, fornecedor.getNome());
stmtUpdate.setString(2, fornecedor.getEndereco());
stmtUpdate.setString(3, fornecedor.getTelefone());
stmtUpdate.setString(4, fornecedor.getCnpj());
stmtUpdate.setString(5, fornecedor.getEmail());
stmtUpdate.setString(6, fornecedor.getLogin());
stmtUpdate.setString(7, fornecedor.getSenha());
stmtUpdate.setDate(8, new java.sql.Date(fornecedor.getData_cadastro().getTime()));
stmtUpdate.setInt(9, fornecedor.getCodigo());
stmtUpdate.executeUpdate();
stmtUpdate.close();
stmtSelect.close();
rs.close();
ConnectionFactory.closeConnection(conn);
return true;
}
stmtSelect.close();
rs.close();
ConnectionFactory.closeConnection(conn);
return false;
}String sqlUpdate = "UPDATE fornecedor SET nome = ?, endereco = ?, telefone = ?, cnpj = ?, email = ?, login = ?, senha = ?, data_cadastro = ? WHERE codigo = ?";
GOSTEI 0