PDA

Ver la Versión Completa : de paradox a firebird sin duplicar registros


pmtzg
23-07-2011, 05:12:48
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:


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 Notevi
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í:

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;