...
Code Block | ||
---|---|---|
| ||
uses // units necessárias para manipulação de dados oriundos de banco de dados e // suas tabelas DB, DbClient; const // declaração da constante com o nome do arquivo TXT onde os dados // serão gravados nomeArquivo = '.\exportaDados.txt'; var // declarando um objeto chamado cds, do tipo Client Data Set, o qual será // utilizado para manipulação dos dados oriundos de uma tabela cds: TClientDataSet; // declaração do objeto dados, do tipo TStringList, onde os dados a serem // exportados serão armazenados no formato do arquivo de dados TXT dados: TStringList; // declaração da variável a, do tipo inteira para manipulação de // estrutura de repetição a: integer; begin // criando o objeto dados do tipo TStringList dados := TStringList.Create(); // iniciando o ciclo de exportação dos dados try // criando o client data set cds que receberá todo o conteúdo // da tabela cds := TClientDataSet.Create(nil); // carregando os dados da tabela a ser importada para o cds. // o primeiro parâmetro é o nome da pesquisa personalizada // o segundo parâmetro diz quais campos serão carregados. Neste caso, todos. // o terceiro parâmetro diz qual é o nome da tabela a ser pesquisada e // a comparação a ser feita pela cláusula WHERE. Neste caso, se 0 = 0 // que retorna verdadeiro. Uma "forma" de trazer todos os dados da tabela // o quarto parâmetro descreve o tipo de dados de cada campo // carregado na pesquisa. Já o quinto parâmetro especifica o // tamanho desses campos individualmente. cds.Data := dmConexao3c.QueryPegaData('SEL_PESQUISAFILTRO', '*', ['?', '1:s', 'U_IMPORTATXT', '?', '2:s', '0=0'], [ftString, ftString, ftString, ftString, ftString], [45, 100, 11, 14, 11]); // iniciando estrutura de repetição que fará a exportação de todos os dados // da tabela U_IMPORTATXT for a:=0 to cds.RecordCount - 1 do begin // montando a estrutura do arquivo de destino dos dados num // objeto TStringList. Cada registro será um item na lista. // o caracter separador é o ";" dados.Add(cds.FieldByName('NOME').value + ';' + cds.FieldByName('EMAIL').value + ';' + cds.FieldByName('CELULAR').value + ';' + cds.FieldByName('DOCUMENTO1').value + ';' + cds.FieldByName('DOCUMENTO2').value + ';'); // carregando o próximo registro cds.Next; end; // finalizando o ciclo de exportação dos dados Finally // salvando dados no arquivo TXT, se a lista 'dados' não estiver vazia if dados.count > 0 then dados.SaveToFile(nomeArquivo) else showMessage('Lista não possui dados a serem exportados.'); cds.Free; end; |
Para facilitar ainda mais o entendimento, foi produzido um vídeo sobre este conteúdo. Para acessá-lo, utilize o link abaixo: