Delphi - Update não funciona (MySQL)

27/08/2019

0

Saudações pessoal.

Eu estou tentando fazer um Update mais por algum motivo o MySQL não está recebendo a informação.

dmUsuario.FDQueryAtualizar.ParamByName(''usuario'').AsString := edtUsuario.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''senha'').AsString := edtSenha.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''permissao'').AsString := cbPermissao.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''condicao'').AsString := cbCondicao.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''codigoSecreto'').AsString := edtCodigoSecreto.Text;

//dmUsuario.FDQueryAtualizar.ParamByName(''criadoPor'').AsString := uPrincipal.frmPrincipal.sbCapturarMatricula.Panels[0].Text;
//dmUsuario.FDQueryAtualizar.ParamByName(''dataCriacao'').AsString := edtCapturarDataHora.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''modificadoPor'').AsString := uPrincipal.frmPrincipal.sbCapturarMatricula.Panels[0].Text;
dmUsuario.FDQueryAtualizar.ParamByName(''dataModificacao'').AsString := edtCapturarDataHora.Text;
dmUsuario.FDQueryAtualizar.ParamByName(''motivoModificacao'').AsString := edtMotivoModificacao.Text;

dmUsuario.FDQueryAtualizar.Close;
dmUsuario.FDQueryAtualizar.ExecSQL();

btnLimpar.OnClick(self.btnLimpar);
ShowMessage(''Usuário atulizado com sucesso.'');

Na Query do Firedac deixei assim e por algum motivo somente SQL abaixo do acesso_histórico recebe a atualização.

UPDATE acesso_cadastro
SET senha = :senha, permissao = :permissao, condicao = :condicao, codigoSecreto = :codigoSecreto
WHERE usuario = :usuario;

UPDATE acesso_cadastro AS ac, acesso_historico AS ah
SET ah.dataModificacao = :dataModificacao, ah.modificadoPor = :modificadoPor, ah.motivoModificacao = :motivoModificacao
WHERE ac.usuario = :usuario
AND ah.matricula = ac.matricula

Alguém poderia me ajuda?
Estou horas procurando o motivo de não atualizar... .-.
Júniro

Júniro

Responder

Post mais votado

27/08/2019

Boa noite, júniro!

estou adicionando um Código que estou utilizando em meu sistema que esta funcionando, espera ter ajudado.
Qualquer coisa entre em contato..

function TModelEmpresa.update: iEmpresa;
begin
Result := Self;

FQuery := TFDQuery.Create(nil);
try
FQuery.Close;
FQuery.Connection := DataModel.Connect;
FQuery.SQL.Clear;

FQuery.SQL.Add(' update EMPRESA ');
FQuery.SQL.Add(' set RAZAOSOCIAL = :RAZAOSOCIAL, ');
FQuery.SQL.Add(' ENDERECO = :ENDERECO, ');
FQuery.SQL.Add(' CIDADE = :CIDADE, ');
FQuery.SQL.Add(' CEP = :CEP, ');
FQuery.SQL.Add(' ESTADO = :ESTADO, ');
FQuery.SQL.Add(' INSCRICAO_ESTADUAL = :INSCRICAO_ESTADUAL, ');
FQuery.SQL.Add(' INCRICAO_MUNICIPAL = :INCRICAO_MUNICIPAL, ');
FQuery.SQL.Add(' CNPJ = :CNPJ, ');
FQuery.SQL.Add(' CNPJ_DIGITO = :CNPJ_DIGITO, ');
FQuery.SQL.Add(' CNPJ_DIGITO_FINAL = :CNPJ_DIGITO_FINAL, ');
FQuery.SQL.Add(' TELFONE = :TELFONE, ');
FQuery.SQL.Add(' VERSAO = :VERSAO ');
FQuery.SQL.Add(' where (IDEMPRESA = :IDEMPRESA) ');

FQuery.Params.ParamByName('IDEMPRESA').AsInteger := getIDEMPRESA;
FQuery.Params.ParamByName('RAZAOSOCIAL').AsString := getRAZAOSOCIAL;
FQuery.Params.ParamByName('ENDERECO').AsString := getENDERECO;
FQuery.Params.ParamByName('CIDADE').AsString := getCIDADE;
FQuery.Params.ParamByName('CEP').AsString := getCEP;
FQuery.Params.ParamByName('ESTADO').AsString := getESTADO;
FQuery.Params.ParamByName('INSCRICAO_ESTADUAL').AsString := getINSCRICAO_ESTADUAL;
FQuery.Params.ParamByName('INCRICAO_MUNICIPAL').AsString := getINCRICAO_MUNICIPAL;
FQuery.Params.ParamByName('CNPJ').AsString := getCNPJ;
FQuery.Params.ParamByName('CNPJ_DIGITO').AsString := getCNPJ_DIGITO;
FQuery.Params.ParamByName('CNPJ_DIGITO_FINAL').AsString := getCNPJ_DIGITO_FINAL;
FQuery.Params.ParamByName('TELFONE').AsString := getTELEFONE;
FQuery.Params.ParamByName('VERSAO').AsDate := getVERSAO;

try
FQuery.ExecSQL;
except
on E: Exception do
raise Exception.Create('Error ao Update registro' + sLineBreak +
E.Message);
end;
finally
FreeAndNil(FQuery)
end;

end;



Ricardo Araujo

Ricardo Araujo
Responder

Mais Posts

31/08/2019

Júniro

Resolvido.
Erro do trecho do código fazia com que sempre fosse buscado as informações novamente e por isso nunca atualizava.

Obrigado!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar