Ir ao conteúdo
  • Cadastre-se
Alasca

Erro ao excluir e alterar registro do banco de dados

Posts recomendados

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
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!