Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alasca

Erro ao excluir e alterar registro do Banco de Dados

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.