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 06-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Armar cadena con datos de un query

buenos dias
el titulo parece facil, pero el query tiene diferentes tipos de datos
entonces me gustaria tener ideas de como hacr lo que necesito (armar una cadena con los campos de un query)

estaba haciendo mas o menos esto

Código Delphi [-]
 
    qryTemporal.Close;
    qryTemporal.SQL.Clear;
    qryTemporal.sql.Add(StrSql);
    qryTemporal.Open;
    qryTemporal.First; // Por siacaso
    AssignFile( F, ExtractFilePath( Application.ExeName ) + 'prueba.txt' );
    while not qryTemporal.Eof do
    begin
    for i:= 0 to qryTemporal.FieldCount do
      begin
         if tipodedato de qryTemporal.Fields[i].Value = Fecha Then
             _Cadena := _Cadena + DatetoStr(qryTemporal.Fields[i].Value + '¦')
         if tipodedato de qryTemporal.Fields[i].Value = Float Then
             _Cadena := _Cadena + FloatToStr(qryTemporal.Fields[i].Value + '¦')
         if tipodedato de qryTemporal.Fields[i].Value = Integer Then
              _Cadena := _Cadena + inttostr(qryTemporal.Fields[i].Value + '¦')
         if tipodedato de qryTemporal.Fields[i].Value = string Then
            _Cadena := _Cadena + qryTemporal.Fields[i].Value + '¦';
      end;
    end;


alguna idea?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 06-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
mmmm
lo que pretendo hacer es generar un archivo de texto el cual se envie por mail y pueda ser leido en otra computadora con el fin de actualizar la informacion

ahora la pregunta seria.....

si todo lo transformo en cadena, como sabre que tipo de dato "Original" para poder grabarlo en la base de datos

mmm me parece que tendre que identificar cada uno de los campos para cuando actualice la informacion
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 06-06-2011 a las 16:55:10.
Responder Con Cita
  #3  
Antiguo 06-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
encontre esto

Código Delphi [-]
 
 if (qryTemporal.Fields[i].DataType = ftString) then

ahora la cuestion se me complica en el uso del archivo de texto que al leerlo como saber el tipo de dato original
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 06-06-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Si ya sabes cuales son los tipos de datos de los campos, no debe ser dificil lo que buscas hacer.

Podrías hacer algo como esto:

Código Delphi [-]
procedure ExportData(const TableName: string);
var
  I: Integer;
  ExportedData: TStringList;
  Line: string;
  Query: TQuery; // Puedes cambiarlo por el tipo que uses.

begin
  Query := TQuery.Create(nil);
  try
    // Configuras el componente para que use la conexión a la base de datos.
    Query.SQL.Text := Format('select * from %s', [TableName]);
    Query.Open;
    Query.First;
    ExportedData := TStringList.Create;
    try
      while not Query.Eof do
      begin
        Line := '';
        for I := 0 to Pred(Query.FieldCount) do
          Line := Format('%s%s,', [Line, Query.Fields[i].Value]);
        Delete(Line, Lenght(Line), 1); // Eliminamos la coma final
        ExportedData.Add(Line);
        Next
      end;
      ExportedData.SaveToFile(TableName + '.txt') // o .csv
    finally
      ExportedData.Free
    end
  finally
    Query.Free
  end
end;

Y ya para leer los datos, solo tienes que hacer un método que lea el archivo de texto y obtenga el valor de cada campo, sabiendo que cada valor está separado por una coma (,).

Te recomiendo que leas sobre los archivos de valores separados por comas (csv).

Espero te sirva.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
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
Funcion para borrar la cadena que aparesca repetida dentro de otra cadena flystar Varios 1 02-07-2007 23:51:10
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Consultar a la base de datos por el MD5 de una cadena dec MySQL 6 29-12-2006 16:11:14
como estraer datos de una cadena Ricsato Varios 2 11-09-2004 19:37:08
Cadena basura al final del Query PTW Conexión con bases de datos 3 22-04-2004 20:41:44


La franja horaria es GMT +2. Ahora son las 09:21:26.


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