Duvida: transformar sentença SQL em arquivo .TXT
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.
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.
Mfilho
Curtidas 0
Respostas
Aroldo Zanela
01/02/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.
Comecei fazer a rotina, mas tenho que ir para uma reunião agora. Se não conseguir terminar o ´raciocício´ usado, informe aqui.
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;
GOSTEI 0
Rodolpho123
01/02/2006
Faltou somente dar o [b:cea0bb606e]FreeAndNil[/b:cea0bb606e] nas TStringLists
GOSTEI 0
Motta
01/02/2006
http://forum.devmedia.com.br/viewtopic.php?t=45948&highlight=dbfile&sid=0fe94d72719425dd3881024ea0cfd89c
GOSTEI 0
Mfilho
01/02/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.
linedata.Delimiter := ´;´;
linedata.QuoteChar := ´´´;
arquivo.Add(linedata.DelimitedText);
[Error] Unit1.pas(39): Undeclared identifier: ´Delimiter´
o mesmo nas outras 2 linhas.
GOSTEI 0
Mfilho
01/02/2006
desde já agradeço a ajuda e a atenção.
Obrigado.
Obrigado.
GOSTEI 0
Aroldo Zanela
01/02/2006
Colega,
Qual versão do Delphi que você está usando? Acho que essa propriedade foi introduzida a partir do Delphi 6.
Qual versão do Delphi que você está usando? Acho que essa propriedade foi introduzida a partir do Delphi 6.
GOSTEI 0
Mfilho
01/02/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
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
GOSTEI 0