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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Creación de campos en runtime TClientdataset

Hola a todos,
estoy enfrascado en un problemilla y me gustaría saber qué opinais.

Tengo un TClientDataset al que le creo en runtime los campos que necesito. Hasta ahí bien, los creo, doy las altas de registros necesarios, preparo la información, y me funciona perfectamente. Como el Tclientdataset va a su bola, es decir, no extrae los datos de ninguna bbdd, ejecuto CDS.CreateDataset una vez creados los campos.

Sin embargo, cuando lanzo el proceso por segunda vez, cambiando los campos, me da un error. Concretamente cuand ejecuto CDS.CreateDataset. Previamente, he borrado los campos que había creado anteriormente.

También he intentado ejecutar el CreateDataset sólo la primera vez, pero también me da el error.

Sabría alguien decirme qué demonios se me está escapando ?

Gracias y un saludo

Así borro los campos:
Código Delphi [-]
for n:= CDSResultado.Fields.Count-1 downto 0 do
  CdSResultado.Fields[0].Free;
Así creo los campos:
Código Delphi [-]
function crearColumna(CDS:TClientDataset; Campo: string ):boolean;
var F: TStringField; NombreCampo:string;
begin
  F:= TStringField.Create(CDS);
  F.FieldName:= Campo;
  NombreCampo:= AnsiReplaceStr( Campo,' ', '_');
  NombreCampo:= trim(AnsiReplaceStr( NombreCampo,'-', '_'));
  F.Name:= CDS.Name+ NombreCampo;
  F.DataSet:= CDS;
  F.Size := 100;
  F.DisplayLabel:= Campo;
  F.DisplayWidth:= 10;

end;
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 18-06-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Olvido de novato: ¿qué error?
Responder Con Cita
  #3  
Antiguo 18-06-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Error:

CDS Field 'XX' not found


Obviamente, no debe existir, lo he borrado para volver a crear los campos.


Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 18-06-2015
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 19
TOPX Va camino a la fama
Hola,

Eso tiene que ver con la propiedad FieldDefs del TClientDataSet.

Más info en ~
¿Y si utiliza un nuevo ClientDataSet para la nueva estructura? En fin, son gustos.
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #5  
Antiguo 18-06-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿No será algún otro componente que tienes "enganchado" a ese ClientDataset, quien está buscando el campo?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 18-06-2015
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 16
Caminante Va camino a la fama
Hola

creo que deberia ser

Código Delphi [-]
Clientdataset1.FieldDefs.clear;
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
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
Creacion de grupos en Runtime Willo Impresión 1 16-11-2012 20:05:41
Problema de creación en Runtime hgiacobone OOP 7 16-09-2011 15:19:35
Creación de TFields en Runtime vinguel Conexión con bases de datos 5 16-11-2010 15:16:18
Creación de jpg en RunTime sierraja Gráficos 4 06-10-2005 04:26:04
Creación de Forms en runtime con Tipo dinámico Aprendiz OOP 2 29-09-2004 10:35:25


La franja horaria es GMT +2. Ahora son las 05:56:05.


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