Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   de paradox a firebird sin duplicar registros (https://www.clubdelphi.com/foros/showthread.php?t=74995)

pmtzg 23-07-2011 05:12:48

de paradox a firebird sin duplicar registros
 
hola amigos tengo una pregunta para los que transfieren de una base a otra
estoy por pasar una tabla de paradox a base de datos firebird y lo hago de la siguiente manera:
declaro mis conexiones de tablas tanto para paradox y firebird etc. .....
el codigo para pasar registros es el siguiente:
Código Delphi [-]

      For i := 0  to TablaParadox.Fields.Count -1 do
          IBTabla1.Fields[i].Value:=TablaParadox.Fields[i].Value;
          IBTabla1.Post;
          TablaParadox.Next;
etc ....


bien, ahora mi pregunta si la tablaParadox se actualiza y tengo la necesidad de nuevamente transpasar los registros de paradox a firebird, me sirve esta misma instrucción sin duplicarme lo que tengo o tengo que usar otra instrucción en donde transfiera unicamente los registros que no estan en la nueva base de datos
espero haberme explicado

Casimiro Noteví 23-07-2011 11:44:34

Pues como tú quieras hacerlo :)
Puedes comprobar si existe antes de volver a grabarlo... o lo más normal es que tengas un campo clave (primary key) que no se puede repetir, así que dará error si intentas grabarlo porque ya existe y continuas con el siguiente.
En plan chapucero, con tu código, sería algo así:

Código Delphi [-]
while not TablaParadox.eof do
begin
  For i := 0  to TablaParadox.Fields.Count -1 do
    IBTabla1.Fields[i].Value:=TablaParadox.Fields[i].Value;    
  try
    IBTabla1.Post;
  except
  end;  
  TablaParadox.Next;
end;


La franja horaria es GMT +2. Ahora son las 01:51:15.

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