Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como replicar registro (https://www.clubdelphi.com/foros/showthread.php?t=23288)

morfeo21 13-07-2005 00:35:19

como replicar registro
 
hola amigos del foro, quisiera que me ayuden con un problema q' se presento en un prg. que estoy utilizando, pues veran:
trabajo con bd interbase 6.0.; estoy cargando informacion de una tabla llamada ordenes atraves de un storeprocedure el cual muestra la sgte informacion atravez de un dbgrid :
numord item codart descripcion
001 1 A089 PARLANTES AFH001
001 2 A039 TECLADO AFL0234
001 3 B234 CAMARA DIGITAL UI8JK
...
..
.
Lo que pretendo es, que al seleccionar en la Dbgrid un registro y hacerle click en un boton que esta dentro de la misma ficha o formulario me replique la informacion pero , que se visualialice debajo del registro seleccionado. algo asi:

001 1 A089 PARLANTES AFH001
001 1 A089 PARLANTES AFH001
001 2 A039 TECLADO AFL0234
001 3 B234 CAMARA DIGITAL UI8JK
...
en este caso seleccione el primer registro y duplique la misma.
diganme hay alguna forma de lograr esto. Gracias de antemano por la respuesta :(

Neftali [Germán.Estévez] 13-07-2005 10:21:02

Para duplicar la información basta con que leas el registro actual e insertes uno igual con los mismos datos:
(1) Utilizando los métodos de TDataSet:
Código Delphi [-]
   T.Append;
   T.FieldByName('campo1').AsString := Valor1;
   T.FieldByName('campo2').AsString := Valor2;
   ...
   T.Post;

(2) Utilizando SQL:
Código SQL [-]
  INSERT INTO Tabla (campo1, campo2,...) VALUES (valor1, Valor2,...)

El tema de que salga debajo, se puede conseguir ordenando la tabla de una forma determinada. Por ejemplo, si ordenas ta tabla por nombre, como el nuevo elemento tendrá el mismo nombre que el anterior te saldrá a continuación...

P.D: Debe haber alguna diferencia entre ambos registros, aunque sólo sea un campo (clave primaria); Por temas de eficiencia y seguridad, deberías tener como mínimo algo que los diferenciara.

morfeo21 13-07-2005 16:45:57

Gracias por la respuesta Neftali, procedere a poner en cuenta tu consejo y despues te cuento.


La franja horaria es GMT +2. Ahora son las 19:40:34.

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