Ir ao conteúdo
  • Cadastre-se
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

Pode ter sido apenas o corretor, mas remova todos os acentos gráficos do código onde não seja String ou comentário.

 

Poste a mensagem específica do erro (observe a linha 3):

JOptionPane.showMessageDialog(null,
                    "Erro ao *** registro de funcionário.",
                    e.getMessage(), // <<<<<<<<<<
                    JOptionPane.ERROR_MESSAGE);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×