Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Visualizar el resultado de una consulta en un TXT

Hola gente!

Me gustaría saber cómo visulalizar el resultado de una consulta SQL en un .TXT y saber si daría lo mismo que la SQL estuviera en el DataModule o escrita por código desde el mismo formulario.

Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 23-10-2004
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Me gustaría saber cómo visulalizar el resultado de una consulta SQL en un .TXT y saber si daría lo mismo que la SQL estuviera en el DataModule o escrita por código desde el mismo formulario.
Es algo confuso lo que dices, o yo soy el unico que no entiende...

Si lo que quieres es escribir un sql en un archivo txt y luego cargarlo en runtime a un componente TQUery para luego ejecutarlo puedes usar lo siguiente:
Código Delphi [-]
Query.SQL.LoadFromFile(NombreDelArchivo.txt)

Y para tu segunda inquietud... pues si daria lo mismo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 23-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Hola jhonny

Tal vez me he explicado mal, lo siento. Lo que quisiera hacer es visulalizar el resultado de la query (que yo hago en delphi) en un fichero .txt

Por ejemplo; En mi aplicación ejecuto la query (' select nombre from alumnos ') y quisiera que el resultado de esa query ( todos los nombres de la tabla alumnos) se visualice en un fichero txt.

Espero que esta vez me haya explicado (mas o menos) bien.

Gracias por tu interes y por la respuesta anterior, aunque no era lo q buscaba he aprendido algo mas.

Muchas gracias.
Responder Con Cita
  #4  
Antiguo 23-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba con este otro ejemplo a ver si es lo que pides:
Código Delphi [-]
 implementation
 
 {$R *.DFM}
 procedure QueryToCSV(QueryName:TQuery);
 var
 i,j: integer; (*i-field, j-record*)
 s: string; (*Record string*)
 theStringList: Tstringlist; (*temp storage*)
 
 begin
 s:='';
 theStringList:=TStringList.Create;
 
   with QueryName do
   begin
   try
   Active:=True;
   except
   showmessage('No puedo abrir la consulta '+ Name);
   end;
 
     for j:=0 to (RecordCount-1) do
     begin
       s:='';
         for i:=0 to (FieldCount-1) do
         begin
         (*add next field w/comma delimiter*)
         s:=s+(Fields[i].AsString)+',';
         end; (*i for*)
       theStringList.add(s);
       Next;
     end; (*i for*)
 
   theStringList.savetofile('D:\MiTxt.csv'); (*memo1.lines.*)
   Showmessage('El Archivo MiTxt.CSV se creó con exito.');
   close;
   end; (*with*)
 end; (*BackupTableToCSV*)
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
  QueryToCSV(Query1);
 end;

Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 23-10-2004
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
mmm, la respuesta de marcos es fenomenal, pero si yo estuviera usando BDE tambien pensaria en usar entonces el TBathMove Con este componente puedo escribir facilmente un txt.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 24-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Muchas Gracias a ambos!!

Todavía no he tenido la ocasión de probar las soluciones que me habéis dado, en cuanto pueda os dire como he quedado.

Miraré en la ayuda como funciona el componente TBathMove, por ver si puedo simplificar al máximo la solucion pq no tengo demasiada experiencia en Delphi.

Gracias y Saludos.
Responder Con Cita
  #7  
Antiguo 26-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Saludos! Por fin he podido probar las soluciones que me disteis!

Lo que pasa es que soy bastante novato y la solución de marcoszorrilla no la puedo ejecutar xq me da un monton de errores que no se a que se deben.

Tambien he probado la de jhonny con el TBathMove pero no conozco el componente y no saco nada en claro de la ayuda de delphi. Me podrías explicar cómo hacerlo?

Muchas gracias, yo seguiré intentando todo mientras llega vuestra ayuda.
Responder Con Cita
  #8  
Antiguo 26-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dsa132132
Lo que pasa es que soy bastante novato y la solución de marcoszorrilla no la puedo ejecutar xq me da un monton de errores que no se a que se deben.
En cambio yo nada más copié y pegué su código y coloque un TQuery con su respectiva consulta y me funcionó de maravilla.

Como no nos digas que errores te marca será difícil que te demos mayores explicaciones.

El que tú seas novato no nos hace a nosotros adivinos

// Saludos
Responder Con Cita
  #9  
Antiguo 26-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Hola Roman.
Tienes razón, mi pregunta no era muy concreta...

Te explico, tengo una Query (Qvisabonado) en un Data Module (DMprova1) y si copio y pego tal cual (cambiando QueryName por Mprova1.Qvisabonado) me

dice :[Error] txt.pas(30): Undeclared identifier: 'TQuery'

en la línea de : procedure QueryToCSV(QueryName:TQuery); en implementation.

No se que debo poner en ese QueryName porque no me acepta Mprova1.Qvisabonado y tampoco se si debo definirla antes en Public o Private.

Espero que esta vez me haya explicado mejor. Muchas gracias por vuestro interes!
Responder Con Cita
  #10  
Antiguo 26-10-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El Tquery es un componenete que debes de poner en tu formulario lo tienes en la paleta DataAccess y se presente con el texto SQL-

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 26-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El error se produce porque al no tener las componentes TQuery en el formulario donde declaras QueryToCsv, no se incluyen automáticamente las unidades necesarias. Basta que incluyas manualmente la unidad DbTables.

// Saludos
Responder Con Cita
  #12  
Antiguo 26-10-2004
dsa132132 dsa132132 is offline
Miembro
 
Registrado: jul 2004
Posts: 29
Poder: 0
dsa132132 Va por buen camino
Ya lo tengo, me faltaba lo que decíais. Muchas gracias por vuestra ayuda!

Saludos.
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


La franja horaria es GMT +2. Ahora son las 08:19:12.


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