FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
SQL a Texto con Delphi
Hola a todos!!!
Necesito pasar el contenido de todo un query a un archivo de texto, y ya he publicado en este foro como se hace, pero si o si es necesario especificarle uno a uno los campos de query. ¿Hay alguna forma de generar el archivo de texto sin tener que meterse con el contenido del query especìficamente? Yanina Genia |
#2
|
||||
|
||||
¿A algo así te referís? :
http://www.clubdelphi.com/foros/show...95&postcount=5 O vos querés definir campo a campo?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Si...
El problema que tengo con esta solución (que me pareciòn muy eficiente) es que no me pone en el archivo los nombres de las columnas y son muy importantes para lo que tengo que hacer, porque sino el usuario veria numeros sueltos y no entenderìa nada (ya sabemos como son los usuarios), ¿Hay alguna forma de agregarle a esa función algo para que pongas los nombres de los campos?
Yanina Genia |
#5
|
|||
|
|||
...
Quise decir donde pongo ese código para que en la exportación figuren los nombres de las columnas. Esa propiedad la conozco, tan novata no soy!!!
Yanina |
#6
|
||||
|
||||
_________________________________
__________________
|
#7
|
|||
|
|||
...
Jajaja, no llores hijo, ahora me voy a poner a resolverlo porque ya vine de comer y me volviò a andar el cerebro. Es muy facil, en un ratito lo publico.
Yanina |
#8
|
|||
|
|||
Listo!!!
Gracias Delphi.com.ar por tu ayuda, aca publico el còdigo que me mandaste un poco modificado:
Código:
procedure DataSetToStream(ADataSet: TDataSet; AStream: TStream); var i: Integer; S: string; begin if not ADataSet.IsEmpty then begin S := ''; ADataSet.EnableControls; try for i := 0 to ADataSet.Fields.Count -1 do begin if (i = ADataSet.Fields.Count -1) then S := S + ADataSet.fields[i].FieldName + #13#10 else S := S + ADataSet.fields[i].FieldName + ';'; end; AStream.Write(S[1], Length(S)); ADataSet.First; repeat S := ''; for i := 0 to ADataSet.Fields.Count -1 do if ADataSet.Fields[i].Visible then begin if (i = ADataSet.Fields.Count -1) then S := S + ADataSet.Fields[i].DisplayText + #13#10 else S := S + ADataSet.Fields[i].DisplayText + ';'; end; AStream.Write(S[1], Length(S)); ADataSet.Next; until ADataSet.Eof; finally ADataSet.DisableControls; end; end; end; Yanina Genia |
#9
|
||||
|
||||
Cita:
Un saludo |
#10
|
||||
|
||||
oops.. no me di cuenta que había más mensajes en el hilo y que YaninaGenia ya había dado con una solución
Un saludo |
|
|
|