Percorrer os campos de uma tabela em tempo de execução

Olá.

Todo bom desenvolvedor uma hora ou outra vai precisar importar dados de uma tabela pra outra. Se a tabela for pequena não deverá ter tantos problemas, contudo se for uma daquela com dezenas de campos ai já fica bem chato de fazer. Uma boa saída é fazer em runtime a descoberta dos campos da tabela e consequentemente percorrer seus fields. Porém só vai funcionar se as tabelas forem estruturalmente iguais.
Segue o código.:

A lógica é que primeiro precisamos percorrer a query QrOrigem que é passada por parâmetro. Em seguida precisamos descobrir o total de campos da tabela, pra isso usamos a propriedade FieldList.Count. Em seguida basta pegar o campo dentro do laço mais interno usado a propriedade FieldList.Field[index].AsVariant e fazermos atribuição na QrDestino que também foi passada por parâmetros.

E o resto é meio que auto explicativo. Parece que é difícil mas é bem tranquilo. Duvidas e sugestões é só falar.


Comentários

Postagens mais visitadas deste blog

Preenchendo com zeros a esquerda de um valor com Firebird

AWS para Desenvolvedores - Dominando S3 com Delphi

Conhecendo o FireDac - trabalhando com Macros