Fórum Delphi + FDQuery (FireDAC) + DataSource #613240
11/11/2020
0
Com os componentes devidamente conectados, faço o select no FDQuery, carrego o FieldEditor com os campos, e puxo pra tela..
Estou utilizando os comandos Append, Post, ApplyUpdates..
A dúvida é se eu consigo inserir algum campo a mais que não está no FDQuery.
Exemplo: Gostaria de colocar Insert/Update o campo de InseridoPor, AtualizadoPor (que viria do usuário logado no sistema)
Mas esses campos não estão em tela, estão vem variaveis globais.
Existe essa opção? Um jeito que consiga insert/update em um "FDQuery.POST"
Gabriel Kenji
Curtir tópico
+ 0Posts
11/11/2020
Emerson Nascimento
implemente o evento BeforePost para gravar o conteúdo desses campos:
procedure TFormX.FDQuery1BeforePost(DataSet: TDataSet);
begin
if FDQuery1.State = dsEdit then
Dataset.FieldByName('AtualizadoPor').AsString := login.usuario
else
if FDQuery1.State = dsInsert then
Dataset.FieldByName('InseridoPor').AsString := login.usuario
end;
Gostei + 0
11/11/2020
Gabriel Kenji
implemente o evento BeforePost para gravar o conteúdo desses campos:
procedure TFormX.FDQuery1BeforePost(DataSet: TDataSet);
begin
if FDQuery1.State = dsEdit then
Dataset.FieldByName('AtualizadoPor').AsString := login.usuario
else
if FDQuery1.State = dsInsert then
Dataset.FieldByName('InseridoPor').AsString := login.usuario
end;
Nossa, resolveu minha vida.. Muito obrigado.
Porem aconteceu um negócio estranho:
- Quando eu faço a ligação do meu DBEdit com DataSource/FieldEditor (FDQuery) os acentos continuam a funcionar normalmente.
- Se eu passo por parâmetro igual você mostrou pra mim, os acentos não funcionam, grava caracteres estranhos: 'São Paulo' fica 'São Paulo'
Banco de Dados: MariaDB
Firedac..
Gostei + 0
11/11/2020
Emerson Nascimento
.AsString :=
por
.Value :=
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)