Array
(
)

Duvida: transformar sentença SQL em arquivo .TXT

Mfilho
   - 01 fev 2006

Preciso fazer uma rotina que pegue o resultado de qualquer sentença SQL e transforme em arquivo TXT, com os campos separados por ponto e virgula. Obs: A sentença pode ser Qualquer uma

Ex: tenho a sentença:

Select * from clientes

Resultado:

codigo nome endereco cidade
01 XXXXXXXX CCCCC
02 ZZZZZZZZ BBBBBB

Preciso pegar o resultado desta sentença e transformar em txt:

clientes.txt
01;XXXXXXXXX;CCCCC
02;ZZZZZZZZZ;BBBBBB

Se alguem puder me ajudar eu agradeço.


Obrigado.


Aroldo Zanela
   - 01 fev 2006

Colega,

Comecei fazer a rotina, mas tenho que ir para uma reunião agora. Se não conseguir terminar o ´raciocício´ usado, informe aqui.

#Código


var n, i: Integer;
linedata: TStringList;
arquivo: TStringList;
begin
qryDemos.Open;

n := qryDemos.FieldCount;
linedata := TStringList.Create;
arquivo := TStringList.Create;
linedata.Delimiter := ´;´;
linedata.QuoteChar := ´"´;

while not qryDemos.Eof do
begin
linedata.Clear;
for i := 0 to n-1 do
begin
linedata.Add(qryDemos.Fields[i].AsString);
end;
arquivo.Add(linedata.DelimitedText);
qryDemos.Next;
end;
arquivo.SaveToFile(´c:\lixo.txt´);
ShowMessage(´Ok´);
end;



Rodolpho123
   - 01 fev 2006

Faltou somente dar o FreeAndNil nas TStringLists


Motta
   - 01 fev 2006

http://forum.devmedia.com.br/viewtopic.php?t=45948&highlight=dbfile&sid=0fe94d72719425dd3881024ea0cfd89c


Mfilho
   - 01 fev 2006

comecei a fazer a rotina com a dica que me deu só deu erro nas linhas:

linedata.Delimiter := ´;´;
linedata.QuoteChar := ´´´;


arquivo.Add(linedata.DelimitedText);


[Error] Unit1.pas(39): Undeclared identifier: ´Delimiter´

o mesmo nas outras 2 linhas.


Mfilho
   - 01 fev 2006

desde já agradeço a ajuda e a atenção.


Obrigado.


Aroldo Zanela
   - 01 fev 2006

Colega,

Qual versão do Delphi que você está usando? Acho que essa propriedade foi introduzida a partir do Delphi 6.


Mfilho
   - 01 fev 2006

É isso mesmo estava pesquisando e vi que o Delphi 5 (o que estou usando) nào tem estas funções.

O que poderia utilizar no lugar ou como ficaria a rotina sem essas funções.

Nem imagino como possa ficar.

Se puderem me ajudar agradeço.

Obrigado