Erro ao excluir e alterar registro do Banco de Dados
Criei uma aplicação em Java para cadastrar funcionários e conectei a um banco de dados (estou usando o PostgreSQL).
Na parte de cadastrar os funcionários está tudo certo, ele consegue gravar os dados no banco. Mas na hora de excluir ou alterar o cadastro, sempre retorna uma mensagem de erro.
Essa é parte do código que estou utilizando:
public class PgFuncionárioDAO implements FuncionárioDAO {
@Override
public boolean inserirFuncionário(Funcionário funcionário) {
Connection con = PostgreSqlDAOFactory.getConnection();
try {
PreparedStatement ps = con.prepareStatement("insert into funcionário "
+ "(código, cpf, nome, sexo, datanascimento, cargo, salário) "
+ "values (?, ?, ?, ?, ?, ?, ?)");
ps.setInt(1, funcionário.getCódigo());
ps.setString(2, funcionário.getCpf());
ps.setString(3, funcionário.getNome());
ps.setString(4, Character.toString(funcionário.getSexo()));
ps.setString(5, funcionário.getDataNascimento());
ps.setString(6, funcionário.getCargo());
ps.setString(7, funcionário.getSalário());
int result = ps.executeUpdate();
return result == 1;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Erro ao inserir registro de funcionário.",
"Erro",
JOptionPane.ERROR_MESSAGE);
}
return false;
}
@Override
public boolean excluirFuncionário(Funcionário funcionário) {
Connection con = PostgreSqlDAOFactory.getConnection();
try {
PreparedStatement ps = con.prepareStatement("delete from funcionário where código = ?) ");
ps.setInt(1, funcionário.getCódigo());
int result = ps.executeUpdate();
return result == 1;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Erro ao excluir registro de funcionário.",
"Erro",
JOptionPane.ERROR_MESSAGE);
}
return false;
}
@Override
public boolean atualizarFuncionário(Funcionário funcionário) {
Connection con = PostgreSqlDAOFactory.getConnection();
try {
PreparedStatement ps = con.prepareStatement("update funcionário "
+ "(set cpf = ?, "
+ "nome = ?, "
+ "sexo = ?, "
+ "datanascimento = ?, "
+ "cargo = ?, "
+ "salário = ? "
+ "where código = ?");
ps.setString(1, funcionário.getCpf());
ps.setString(2, funcionário.getNome());
ps.setString(3, Character.toString(funcionário.getSexo()));
ps.setString(4, funcionário.getDataNascimento());
ps.setString(5, funcionário.getCargo());
ps.setString(6, funcionário.getSalário());
ps.setInt(7, funcionário.getCódigo());
int result = ps.executeUpdate();
return result == 1;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Erro ao atualizar registro de funcionário.",
"Erro",
JOptionPane.ERROR_MESSAGE);
}
return false;
}
}
Não sei o que posso ter feito de errado. Se alguém souber e puder me ajudar agradeço muito!
Discussão (1)
Carregando comentários...