Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2008
arnedokpo arnedokpo is offline
Registrado
 
Registrado: mar 2008
Posts: 6
Poder: 0
arnedokpo Va por buen camino
sql a texto plano

Hola que tal alguien me podria dar una mano ..estoy haciendo una aplicacion usando ADOQUERY y quisiera que dada una consulta me lo grabe en un txt plano...alguien me podria ayudar?????????????????

muchas gracias!!!!
Responder Con Cita
  #2  
Antiguo 11-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola arnedokpo, una forma sería utilizando un StringList, almacenas ahí todo lo que tienes en tu consulta y luego utilizas su procedimiento SaveToFile, para guardar el archivo.

Código Delphi [-]
var
 slFile : TStringList;
 campo1, campo2 : String;
begin
  slFile := TStringList.Create;
 
  AdoQuery1.First;
  While Not AdoQuery1.Eof do
    begin
      campo1 := AdoQuery1.FieldbyName('Campo1').ASString;
      campo2 := AdoQuery1.FieldbyName('Campo2').ASString; 
 
      slFile.Add(campo1+' '+campo2); 

      AdoQuery1.Next;
     end;
  slFile.SaveToFile('archivo.txt');

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 11-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, tambien puedes usar directamente el método query.savetofile. saludos. (aunque, ahora estoy probandolo, y es un formato algo extraño)

Última edición por coso fecha: 11-07-2008 a las 17:32:40.
Responder Con Cita
  #4  
Antiguo 11-07-2008
arnedokpo arnedokpo is offline
Registrado
 
Registrado: mar 2008
Posts: 6
Poder: 0
arnedokpo Va por buen camino
Buenisimo gente pero una cosita mas que no pude hacer es ponerle el titulo de las columnas me podrian dar una mano?
Responder Con Cita
  #5  
Antiguo 11-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo arnedokpo, no entiendo muy bien, quieres darle un titulo tu o quieres que aparezca los nombres de tus campos en cada columna.

Si es lo primero solo es añadir al principio de tu StringList lo que tu quieras:
Código Delphi [-]
  slFile.Add('NombreCampo1'+' '+'NombreCampo2');
  AdoQuery1.First;
  While Not AdoQuery1.Eof do
  ........

Si es lo segundo entonces puedes obtener la lista de campos de tu consulta con GetFieldNames, así quedaría tu codigo.

Código Delphi [-]
var
 slFile : TStringList;
 campo1, campo2 : String;
 slCampos : TStringList;
 Titulo : String;
begin
  slFile := TStringList.Create;
  slCampos := TStringList.Create;
 
  AdoQuery1.GetFieldNames(slCampos); //Obtenemos la lista de campos en slCampos
  Titulo := slCampos.CommaText;
  Titulo := AnsiReplaceStr(Titulo, ',', ' ');
  slFile.Add(Titulo);

  AdoQuery1.First;
  While Not AdoQuery1.Eof do
    begin
      campo1 := AdoQuery1.FieldbyName('Campo1').ASString;
      campo2 := AdoQuery1.FieldbyName('Campo2').ASString; 
 
      slFile.Add(campo1+' '+campo2); 

      AdoQuery1.Next;
     end;
  slFile.SaveToFile('archivo.txt');

donde CommaText nos devuelve una cadena con todos los elementos de nuestro StringList separados por comas y AnsiReplaceStr, nos reemplaza esa coma por un espacio.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 14-07-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Supongo que lo que quieres es el resultado de tu consulta, para eso es lo que te comenta Caro, si lo que quieres es el texto de tu consulta:

Código:
AdoQuery1.sql.savetofile('c:\prueba.txt');
pos eso....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar Texto Plano Kenobi Varios 1 22-11-2007 08:59:12
Rtf a texto plano glopez Firebird e Interbase 11 15-02-2007 18:56:14
Texto plano a RTF FunBit Varios 3 19-09-2006 08:48:37
TRichEdit y texto plano aranel OOP 1 09-12-2005 12:26:52
Imprimir en modo texto plano triskel Impresión 2 19-09-2003 09:39:43


La franja horaria es GMT +2. Ahora son las 10:28:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi