Estou montando um sistema online de hotelaria para o meu TCC e para a parte dos clientes so falta conseguir edita-los (edição no SQL) so que ele continua sempre me mostrando o
seguinte erro cujo qual nao entendo nada:
"#{clienteControl.atualizaCliente(clienteControl.cliente)}": DAO.DAOException: Erro ao atualizar dados No value specified for parameter 5
nao entendo esse no value for parameter 5 pois o cliente so recebe 4 parametros que sao o codigo, o nome, o telefone e o rg como podem ver abaixo no DAO dos clientes:
public void atualizar(Cliente cliente) throws DAOException {
PreparedStatement ps = null;
Connection conn = null;
if (cliente == null)
throw new DAOException("O valor passado não pode ser nulo");
try {
String SQL = "UDPATE clientes SET " + "codigo=?" + "nome=?," + "telefone=?,"
+ "rg=?," + " WHERE codigo=?";
conn = this.conn;
ps = conn.prepareStatement(SQL);
ps.setInt(1, cliente.getCodigo());
ps.setString(2, cliente.getNome());
ps.setString(3, cliente.getTelefone());
ps.setString(4, cliente.getRg());
ps.executeUpdate();
} catch (SQLException sqle) {
throw new DAOException("Erro ao atualizar dados "
+ sqle.getMessage());
} finally {
ConnectionFactory.closeConnection(conn, ps);
}
}
hebert voce tem razao nao sabia que o ultimo tambem era um parametro faz meses que nao mexo com isso porque tava em ferias mas entao tenho que colocar de novo o cliente.getCodigo()?