Programación General > Delphi
Insertar Registros Desde Otra Base Dato?
(1/1)
Beltran:
¿Como Insertar desde Otra Base Dato?
Hola soy Beltran, desde Rep. Dominicana (mi Isla), Programo en delphi desde hace dos años, usando archivos *.db,
el asunto es que esto migrando a interbase 6, y aqui viene el broblema.
Tengo dos semanas buscando el modo de insertar registros desde una base de datos a otra algo asi como:
Poder insertar registros que estan en una BaseDatos de una Terminal, hasta una tabla de otra BaseDatos en otra terminal.
Ejemplo:
Insert Into 'Tabla_1' ('Pais', 'Capital')
Select From 'Tabla_2' 'Pais', 'Capital';
Donde 'Tabla_1' pertenece una "base de datos" en un directorio Y
y 'Tabla_2 ' pertenece una "base de datos" en un directorio X
en formato *.db es sumamente facil, porque solo hay que incluir el Path(ruta) junto con el nombre de la tabla, pero con Interbase
no lo logro y se que debe existir.
GatoSoft:
Bueno, por lo general este tipo de migraciones se hacen con componentes de base de datos asi:
tus tablas *.DB, las accesas con componetes TTable o Tquery de la paleta BDE y las tablas de la base de datos interbase las accesas con componetes de la paleta interbase IBtable o IBQuery
Pues lo que debes hacer es:
1. Cargar los datos de la tabla que vas a migrar en el TTable..
Table1.databaename='.\paises.db';
table1.open;
While not table1.eof do //Mientras no sea el fin de la tabla...
begin
IBQuery.close;
IBQuery.sql.text:='Insert into paises(pais, capital) values(:ppais, :pcapital)'
IBQuery1.parambyname('ppais').value:=Table1.fieldbyname('pais').value;
IBQuery1.parambyname('pcapital').value:=Table1.fieldbyname('capital').value;
IBQuery1.ExecSQL;
table1.next; //se pasa al siguiente registro.
end;
Es decir... debes recorrer la tabla original he ir insertando en la tabla destino, a través de los componetes...
Navegación
Ir a la versión completa