Criar condição para atualizar

1 resposta
mysqljavaprogramação
C

Boa noite, eu estou com uma dificuldade tremenda em criar uma condição para atualizar um dado.

Código do DAO

public boolean situacaoFuncionarioDAO(ModelFuncionario pModelFuncionario){
        try {
            this.conectar();
            return this.executarUpdateDeleteSQL(
                "UPDATE tbl_funcionario SET "
                    + "func_Situacao = '" + pModelFuncionario.getFuncSituacao() + "',"                    
                + " WHERE "
                    + "'id_func = '" + pModelFuncionario.getIdFunc() + "'"
                + ";"
            );
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }finally{
            this.fecharConexao();
        }
    }

Código do controller

public boolean situacaoFuncionarioController(ModelFuncionario pModelFuncionario){
        return this.daoFuncionario.situacaoFuncionarioDAO(pModelFuncionario);
    }

A minha dificuldade é o seguinte, quero colocar uma condição de se a situação do funcionario for Ativo e clicarem no botão, ele setar como desativado e vice versa. Mas eu não sei como posso por essa condição, vcs poderiam me ajudar?

1 Resposta

P

Antes de mais, não deves usar concatenação de strings para construir uma query SQL se os valores que estás a concatenar vêm do utilizador. Pode não ser o caso aqui em concreto mas fica a sugestão de veres PreparedStatement.

Em segundo lugar, tens uma plica (ou aspa simples) a mais na tua query, antes de id_func. Mais uma vez, o PreparedStatement ajudaria com isso porque não precisas dessas aspas.

Em relação à tua questão, se queres alternar um valor só tens de o negar:
(...) SET func_Situacao = NOT func_Situacao (...)

Criado 4 de novembro de 2023
Ultima resposta 5 de nov. de 2023
Respostas 1
Participantes 2