Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2004
LBriceno LBriceno is offline
Miembro
 
Registrado: may 2003
Ubicación: Viña del Mar, Chile
Posts: 21
Poder: 0
LBriceno Va por buen camino
Lightbulb

Hola José:

Segun te entendí, lo que quieres es agregar o eliminar campos persistentes en un qry., yo trabajo con ADO y esto me funciona bastante bien:

trabajaremos con un query de nombre Query y un campo de nombre NomCampo de tipo Integer

QueryNomCampo.Free; //si deseas eliminarlo

With TIntegerField.Create(Self) do begin //si desaes agregarlo
FieldName := 'NomCampo';
Name := 'QueryNomCampo';
Index := Query.FieldCount;
DataSet := Query;
end;

Query.FieldDefs.UpDate; //actualiza la definicion de campos

espero que sea lo que nadas buscando y te sirva
LBP
__________________
Salud...os
Luis Briceño P.
Responder Con Cita
  #2  
Antiguo 14-04-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 24
Jose_Pérez Va por buen camino
Estimado Luis:

En lugar de ADO, yo trabajo con el TTable a través del BDE. Pero la idea me ha servido. Creo que es interesante que cuelgue el código tal y como lo tengo en el desarrollo de mi aplicación, para quien pueda interesar.

Código:
procedure TDataModulo.tbCabalbBeforeOpen(DataSet: TDataSet);
begin

{
  NOTA: Los campos persistentes se crean aquí para adaptar el programa a las nueva
        estructura de la tablas, creadas desde código. Una vez que las tablas han
        sido reestructuras en el equipo del usuario, "lo normal" es crear los
        campos persistentes desde el editor de columnnas del componente TTable co-
        rrespondiente.
}

  If tbCabalb.FieldDefs.IndexOf('RES_CALB')<>-1 Then
     Begin
     tbCabalbRES_CALB:=TStringField.Create(Self);
     tbCabalbRES_CALB.FieldName:='RES_CALB';
     tbCabalbRES_CALB.DataSet:=tbCabalb;
     tbCabalbRES_CALB.FieldKind:=fkData;
     end;

  If tbCabalb.FieldDefs.IndexOf('FRES_CALB')<>-1 Then
     Begin
     tbCabalbFRES_CALB:=TDateField.Create(Self);
     tbCabalbFRES_CALB.FieldName:='FRES_CALB';
     tbCabalbFRES_CALB.DataSet:=tbCabalb;
     tbCabalbFRES_CALB.FieldKind:=fkData;
     end;

end;

procedure TDataModulo.tbCabalbAfterClose(DataSet: TDataSet);
begin

  If tbCabalbRES_CALB<>Nil Then
     tbCabalbRES_CALB.Free;

  If tbCabalbFRES_CALB<>Nil Then
     tbCabalbFRES_CALB.Free;

end;
Saludos y gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 23:17:58.


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