Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Copiar el contenido de un DataSet a otro DataSet (https://www.clubdelphi.com/foros/showthread.php?t=27455)

Javi2 21-11-2005 16:00:25

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

ContraVeneno 21-11-2005 16:36:54

¿y si utilizas el mismo query para los dos datasets?

Javi2 21-11-2005 16:45:30

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

Javi2 21-11-2005 17:07:06

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.

Enan0 21-11-2005 17:24:30

y con un

Dataset1:=datasetorigen;

en este caso tendrias los datos en dos datasets distintos

maeyanes 21-11-2005 17:37:19

No, así lo único que estaría haciendo es solo apuntar al mismo dataset de origen desde otra variable.



Saludos...

Neftali [Germán.Estévez] 21-11-2005 18:07:26

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.

Rayku 02-11-2006 16:40:43

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

Rayku 02-11-2006 16:43:01

Código Delphi [-]
ADODATASET2.Clone(ADODATASET1);

ok espero este mejor explicado aqui

//Lo edite por la misma razon del anterior

maeyanes 02-11-2006 18:43:19

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...

Neftali [Germán.Estévez] 02-11-2006 18:46:22

Cita:

Empezado por maeyanes
...Es de hace más o menos un año...

Espero que no esté esperando la respuesta...:D:D:D

jesusomarsanche 29-03-2007 21:25:36

tarde pero sin sueño
 
si los dos dataset tienen la misma estructura

Código Delphi [-]
 
insert into tabladestino select * from tabla origen [where ....][order by ...]

si no tienen la misma estructura


Código Delphi [-]
insert into tabladestino select campo1,campo2,... from tabla origen [where.... ][order by ...]
o


Código Delphi [-]
insert into tabladestino(campo1,campo2,..) select campo1,campo2,... from tabla origen [where.... ][order by....]


espero les sirva, logico a los que andemos buscasdo un caso similar, ya que la pregunta tiene bastante tiempo :D

jhonny 29-03-2007 21:30:04

Este Hilo podría ser bautizado como el Ave Fénix :D :D :D

maeyanes 29-03-2007 21:31:54

jaja...

Reviviendo hilos viejos... :p

Que cosas...

ContraVeneno 29-03-2007 22:23:36

Y habiendo renacido de las cenizas, con el poder que se me confiere, les digo hoy mis hermanos, que el día 21/11/2007 este hilo volverá a renacer como lo ha estado haciendo por los últimos dos años....

jhonny 29-03-2007 22:29:11

Cita:

Empezado por ContraVeneno
Y habiendo renacido de las cenizas, con el poder que se me confiere, les digo hoy mis hermanos, que el día 21/11/2007 este hilo volverá a renacer como lo ha estado haciendo por los últimos dos años....

Estaré allí para recordarlo :D

ContraVeneno 21-11-2007 17:15:48

Pues aquí estoy, reviviendo el hilo que renace cada año.

No se me olvidó, pero creo que a Jhonny sí

:D:D

Saludos

eduarcol 21-11-2007 17:25:43

que clase de alarma extraña tenias programada por ahi :D

jhonny 21-11-2007 17:46:33

Cita:

Empezado por ContraVeneno (Mensaje 247468)
Pues aquí estoy, reviviendo el hilo que renace cada año.

No se me olvidó, pero creo que a Jhonny sí

:D:D

Bueno, parece que tuve un problema con el calendario de google pues no quizó decirme nada :D :D :D, aunque la verdad es que siempre me acuerdo de estas cosas pero esta se me paso por completo. :p

jhonny 21-11-2007 18:02:24

Definitivamente no tenia bien configurado ese recordatorio :D...

http://img512.imageshack.us/img512/2...revivirza8.jpg

ContraVeneno 21-11-2007 18:09:01

jojo, tons que?
lo volvemos a revivir el próximo año o ya lo dejamos dormir en paz ???

jhonny 21-11-2007 18:15:57

Cita:

Empezado por ContraVeneno (Mensaje 247490)
jojo, tons que?
lo volvemos a revivir el próximo año o ya lo dejamos dormir en paz ???

Bueno, pues yo ya habia modificado la opción para que me recordara año tras año y me enviara el recordatorio al email :D.

ContraVeneno 21-11-2007 18:22:34

ajajajaja Ok ok

aquí nos vemos el año que entra...

no se quien lleve la ventaja horaria, yo llego al trabajo a las 8 am, ya veremos que pasa.

eduarcol 21-11-2007 21:58:29

jejeje obviamente no tienen mucho que hacer

que tal si hacemos una maquina del tiempo?

ContraVeneno 21-11-2007 22:55:09

no, no, las implicaciones éticas y morales de dicho invento son demasiadas como para permitir el uso de la máquina.... por eso la desarme.

jhonny 21-11-2007 23:11:02

Hola señores de ClubDelphi, he venido del futuro para darles la buena nueva de que la maquina por fin a sido creada y estoy posteando luego de viajar desde el 21 de Nov del 2010, ahora debo marcharme rapidamente... no vaya a ser que mi otro yo me encuentre aqui sentado en su oficina, le de un ataque al corazón por el susto y peligre mi existencia en el futuro, hasta luego :D.

eduarcol 21-11-2007 23:42:11

como que no me entendieron, una maquina del tiempo es un archivo donde respondes preguntas personales y dentro de una determinada cantidad de años los revisas y puedes comparar quien eres y quien eras.

Para un ejemplo visiten The Android, entren en el link: Tu tambien puedes ser inmortal.

Me cuentan como les fue

jhonny 21-11-2007 23:54:50

Bueno, pues yo si te habia entendido, pero parece que el jhonny del futuro fue el que no te entendio :D. Tranquilos que ya se fue para el 2010 :D.

ContraVeneno 21-11-2007 23:55:48

aaaaaaahhh, "máquina de tiempo"... si, si, hace unos años construyeron un centro comercial y en el centro del edificio, está enterrada una "máquina del tiempo".

El día de la inauguración, llenaron un baúl con cosas de las personas que asistieron ese día y luego sellaron la pequeña bóveda donde esta el baúl y se supone que en el 2050 se va a abrir esa bóveda y comparar las cosas que se tenían con las que se tengan en ese año...

jhonny 20-11-2008 22:51:35

Cita:

Empezado por ContraVeneno (Mensaje 247490)
jojo, tons que?
lo volvemos a revivir el próximo año o ya lo dejamos dormir en paz ???

Pues no se, revivamos al muy condenado :D:D:D

maeyanes 20-11-2008 22:55:42

eh!! Que te nos adelantaste un día... :D :D :D

ContraVeneno 20-11-2008 23:00:04

¡¡épale!!

Te adelantaste un día, eso no es justo, jajaja...

vamos, el próximo año dejémoslo hasta el 21, no vaya a ser que en varios años ya lo estemos despertando en enero. :D

Por cierto, cuando vi el correo, me asuste, pensé que era cosa del chamuco o cosa del "mas allá" porque justamente hace unas horas tenía esta misma duda: "como copiar el contenido de un dataset a otro", no recordaba que ya estaba suscrito a este hilo, jaja, pensé : "méndigo club delphi, ahora hasta lee el pensamiento". :D:D

jhonny 20-11-2008 23:08:30

Cita:

Empezado por ContraVeneno (Mensaje 327104)
¡¡épale!!

Te adelantaste un día, eso no es justo, jajaja...

vamos, el próximo año dejémoslo hasta el 21, no vaya a ser que en varios años ya lo estemos despertando en enero. :D

Jajaja, cierto, caramba... no iba a dejar que te me adelantaras esta vez :D, pero esta bien, para el próximo año dejemoslo para el 21 :D.

Cita:

Empezado por ContraVeneno
Por cierto, cuando vi el correo, me asuste, pensé que era cosa del chamuco o cosa del "mas allá" porque justamente hace unas horas tenía esta misma duda: "como copiar el contenido de un dataset a otro", no recordaba que ya estaba suscrito a este hilo, jaja, pensé : "méndigo club delphi, ahora hasta lee el pensamiento"

:D:D:D

jhonny 21-11-2009 15:31:24

Asi se hayan perdido jijuemil mensajes, el AveFenix vuelve desde sus propias cenizas :D:D:D

cmm07 21-11-2009 16:27:54

oohh, verdad hoy ES LA FECHAA!::..

JAJJAJAJAJOJOJOOJOOJJUJUUJUJU:!!!

SALUDOS!

NOS VEMUS EL PROX AÑO OSEA 21-11-2010 SI DIOS QUIERE::!!

ContraVeneno 21-11-2009 18:40:09

no se vale, tuve junta en el trabajoy no pude responder a este hilo cuando quería....


va, a ver quien gana el próximo año, jaja

Saludos..

jhonny 23-11-2009 19:55:41

jajaja, si que me han hecho reir, esto ya es una pelea cazada :D:D:D

Wbarrantes 15-10-2010 00:01:54

Buenas Tardes
 
Senores, espero no ser un aguafiestas por escribir hoy 14 de octubre del 2010...

pero de verdad me urge encontrar una solucion a un pequeno problema que se me presento...

les explico

1. tengo en un dataset el resultado de una consulta Y *
----> (digamos un select * from persona)

2. que me retorna X cantidad de columnas
----> (digamos Cedula,Nombre,Apellido1,Apellido2)

3. pero requiero tener en el dataset unicamente Z valores
---->(Digamos que la cedula,nombre y apellido1 unicamente)


Ahora bien lo que deseo es en este ejemplo eliminar del dataset, la columna apellido2, lo requiero eliminar del dataset,pues posteriormente guardo el resultado enun archivo xml... directamente del dataset...
_________________________________________________________
*(la consulta es variable, no es siempre la misma)


Ahora bien, me surge la inquietud, pues no e encontrado forma de eliminar una columna, entonces pense en la opcion de copiar el resultado a otro dataset, pero sin las columnasque deseo eliminar....


alguien podria ayudarme??????? de verdad me urge mucho... disculpas de nuevo por invocar al fenix antes de la fecha :)

ContraVeneno 22-11-2010 16:32:54

pues el ave fenix se tomó el domingo de descanso... así que resucita hasta el día de hoy...

saludos.

Casimiro Notevi 22-11-2010 16:52:01

Cita:

Empezado por ContraVeneno (Mensaje 382982)
pues el ave fenix se tomó el domingo de descanso... así que resucita hasta el día de hoy...
saludos.

¿Y has estado pendiente todo el año para avisar de este hilo? :D:D:D


La franja horaria es GMT +2. Ahora son las 18:12:45.

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