Fórum TFDBatchMove adicionar mappings dinamicamente #581203
10/05/2017
0
Boa tarde, estou usando o FDBatchMoveDataSetReader1 para pegar os dados de uma query e usando o FDBatchMove1 para pegar os dados e jogar num FDBatchMoveSQLWriter1 para gravar os dados em outro lugar....
o sql que retorna na query é dinamico e nem todos os campos que tem nele, terá na tabela de destino, então o que preciso é criar os mappings do FDBatchMove1 de origem e destino dinamicamente, estou fazendo assim;
Ele está adicionando, mas está criando um item de mapping de origem e outro item de destino e não no mesmo item incluindo o destino e origem, coloquei manualmente para ver o objeto e ele deu assim;
Como faço para incluir dinamicamente ?
o sql que retorna na query é dinamico e nem todos os campos que tem nele, terá na tabela de destino, então o que preciso é criar os mappings do FDBatchMove1 de origem e destino dinamicamente, estou fazendo assim;
with FDQuery1 do
begin
Active := false;
Close;
sql.Clear;
sql.add('select * from tbl_adm_configsynccampos where nm_tabelapara = ''tbl_prd_produtos'' ');
open;
end;
while not FDQuery1.Eof do
begin
with BatchMove.Mappings do
begin
Add.SourceFieldName := FDQuery1.FieldByName('nm_campode').AsString;
Add.DestinationFieldName := FDQuery1.FieldByName('nm_campopara').AsString;
end;
FDQuery1.Next;
end;Ele está adicionando, mas está criando um item de mapping de origem e outro item de destino e não no mesmo item incluindo o destino e origem, coloquei manualmente para ver o objeto e ele deu assim;
object BatchMove: TFDBatchMove
Reader = Reader
Mappings = <
item
SourceFieldName = 'origem'
DestinationFieldName = 'destino'
end
item
SourceFieldName = 'de'
DestinationFieldName = 'para'
end>
LogFileName = 'Data.log'
Analyze = [taFormatSet, taHeader, taFields]
Left = 232
Top = 344
endComo faço para incluir dinamicamente ?
Robson Morais
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)