Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como copiar campos en una misma tabla (https://www.clubdelphi.com/foros/showthread.php?t=33111)

JefeNet 27-06-2006 21:36:03

Como copiar campos en una misma tabla
 
hola, necesito copiar todos los campos de un registro de una tabla (paradox7), e insertarlos en otro registro, pero cambiandole en campo clave por supuesto. como podria hacerlo?? ejemplo de lo que necesito

imaginen que tengo en la tabla:

index nombre apellido
1 Pedro Perez

necesito ahora copiar todos los campos en otro registro y a su vez cambiarle el indice para que quede algo asi.

index nombre apellido
1 Pedro Perez
2 Pedro Perez

ojala me puedan ayudar gracias.

ilichhernandez 27-06-2006 21:52:43

Mira a primera instancia se me ocurre algo asi como
un insert con select mezclado. Algo asi como

Código Delphi [-]
query1.SQL.add('INSERT into tabla SELECT * from otratabla where campo =:parametro

JefeNet 27-06-2006 21:55:29

estoy trabajando con tablas paradox, puedo usar sentencias sql??

ilichhernandez 27-06-2006 21:56:35

lo ignoro pues yo uso interbase y mysql.!!

JefeNet 27-06-2006 21:57:40

estoy usando dbe :-S
help me por fa

nemesio 28-06-2006 08:21:24

con Paradox tambien puedes utilizar sentencias SQL en un TQuery.

Lepe 28-06-2006 11:13:01

El problema de la clave primaria hay que salvarlo, ignoro como tienes definida la clave primaria (autoincrement, texto, etc):

Código Delphi [-]
query1.sql.text := ' INSERT INTO DESTINO (clave, nombre, apellido) values ( :clave, :nombre, :apellido)';
query1.parambyname('clave').AsXXX := nueva_clave;
query1.parambyname('nombre').AsString := table1Nombre.AsString;
query1.parambyname('apellido').AsString := table1apellido.AsString;
query1.ExecSql;

Si son varios registros a copiar, crea una tabla temporal en memoria, la rellenas con los datos, le cambias la clave principal y despues usas la forma de ilichhernandez

Saludos


La franja horaria es GMT +2. Ahora son las 07:22:32.

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