SoloCodigo

Programación General => Delphi => Mensaje iniciado por: Beltran en Jueves 8 de Abril de 2004, 06:47

Título: Insertar Registros Desde Otra Base Dato?
Publicado por: Beltran en Jueves 8 de Abril de 2004, 06:47
¿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.
Título: Re: Insertar Registros Desde Otra Base Dato?
Publicado por: GatoSoft en Martes 13 de Abril de 2004, 05:54
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...