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 21-11-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 20
Javi2 Va por buen camino
Copiar el contenido de un DataSet a otro DataSet

Hola,

¿Hay alguna manera rápida de copiar el contenido de un TDataSet a otro TDataSet?Por si sirve de algo, los datos los obtengo a través de una TQuery

Muchas gracias
Responder Con Cita
  #2  
Antiguo 21-11-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿y si utilizas el mismo query para los dos datasets?
__________________

Responder Con Cita
  #3  
Antiguo 21-11-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 20
Javi2 Va por buen camino
Es un poco complejo de explicar pero no me sirve. Realmente necesito copiar el contenido de un TDataSet en otro.

Muchas gracias por tu ayuda
Responder Con Cita
  #4  
Antiguo 21-11-2005
Javi2 Javi2 is offline
Miembro
 
Registrado: jun 2004
Posts: 152
Poder: 20
Javi2 Va por buen camino
He encontrado el siguiente procedimiento que creo que me servirá (tiene buena pinta):

procedure MoverDatosTabla(prmDSOrigen, prmDSDestino :TDataSet);
var Campo :string;
i :integer;
begin
prmDSDestino.EmptyTable;
prmDSDestino.Open;

with prmDSOrigen do begin
Open;
while not EOF do begin
prmDSDestino.Append;
for i := 0 to FieldCount-1 do begin
Campo := prmDSOrigen.Fields[i].FieldName;
prmDSDestino[Campo] := prmDSOrigen[Campo];
end;
prmDSDestino.Post;
Next;
end;
Close;
end;
prmDSDestino.Close;
end;

Os lo dejo aquí por si a alguien le interesa.

Muchas gracias a todos por vuestra colaboración.
Responder Con Cita
  #5  
Antiguo 21-11-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
y con un

Dataset1:=datasetorigen;

en este caso tendrias los datos en dos datasets distintos
Responder Con Cita
  #6  
Antiguo 21-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
No, así lo único que estaría haciendo es solo apuntar al mismo dataset de origen desde otra variable.



Saludos...
Responder Con Cita
  #7  
Antiguo 21-11-2005
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: 18.272
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
Cita:
Empezado por Javi2
¿Hay alguna manera rápida de copiar el contenido de un TDataSet a otro TDataSet? Por si sirve de algo, los datos los obtengo a través de una TQuery
Eso no tiene mucho sentido; Los datos que están viendo en el DataSet son el resultado de una consulta;
(a) Si lo que quieres es otro DataSet con los mismos datos, vuelve a ejecutar la misma consulta en el segundo DataSet.
(b) Si el segundo DataSet es una tabla, yo te recomiendo que revises la cláusula SQl INSERT..INTO; Una vez insertados abre el segundo DataSet sobre la tabla destino.
(c) Si el segundo DataSet es una tabla y no puedes utilizar INSERT..INTO; Haz un recorrido por el primer DataSet y ves insertando en el segundo (Post o INSERT-SQL-);
(d) Si el segundo DataSet es una tabla y usas BDE, revisa en la ayuda de Delphi sobre el componente TBachMove.
__________________
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
  #8  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
Ok Veamos

usa la funcion clone,

Código Delphi [-]
ado.clone(cventa.listarseries(dmconeccion.adoconection,error));

la funcion listar series es otro dataset

//Lo Edite para poner todo en minusculas

Última edición por jhonny fecha: 29-03-2007 a las 21:27:42.
Responder Con Cita
  #9  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
Código Delphi [-]
ADODATASET2.Clone(ADODATASET1);

ok espero este mejor explicado aqui

//Lo edite por la misma razon del anterior

Última edición por jhonny fecha: 29-03-2007 a las 21:28:26.
Responder Con Cita
  #10  
Antiguo 02-11-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Ya te fijaste de la fecha del mensaje original? Es de hace más o menos un año...

Otra cosa, te recomiendo que leas la Guía de Estilo de los foros.

Saludos...
Responder Con Cita
  #11  
Antiguo 02-11-2006
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: 18.272
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
Cita:
Empezado por maeyanes
...Es de hace más o menos un año...
Espero que no esté esperando la respuesta...
__________________
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
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 11:33:31.


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