Ver Mensaje Individual
  #1  
Antiguo 27-09-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
tabla paradox a firebird

hola amigos... tengo el siguiente problema....

Actualmente tengo aproximadamente unas 40 tablas paradox, todos distintas entre si en cuanto a campos y registros...

quiero hacer un programa en delphi 2006, que lea los datos de las tablas paradox y que guarde los datos en las tablas firebird.

habia pensado hacerlo de la siguiente manera. Con el IBConsole generar una base de datos, den tro de esta base de datos, crear las distintas tablas (las equivalentes a las paradox, mismo nombre incluso) con sus respectivos campos.

Luego con un pequeño programa en delphi que me lea los datos de la tabla paradox y los escriba en la tabla firebird.

Me funcion, pero solo lo hice con una sola tabla, ya que me demore demasiado...

Pregunta... existe algun codigo para generar columnas en las tablas, copiando el nombre del campo de la tabla paradox....

Trate de utilizar el IBPump, pero me dio error, si que decidi realizarlo por medio de codigo.

Este fue el codigo que utilize para una tabla pequeña.-

Código Delphi [-]
begin
IBTABLE1.Close;
IBDATABASE1.DatabaseName:='LOCALHOST:C:\TABLAS\DATOS.FDB';
IBTABLE1.TableName:='CLAVES';
IBTABLE1.Open;
IBTABLE1.EmptyTable;
TABLE1.close;
table1.DatabaseName:='c:\datos';
table1.TableName:='claves2.db';
table1.Open;
Table1.First;
While not Table1.EOF do
begin
ibTable1.append;
ibTable1.FieldByName('usuario').asstring:= table1.FieldByName('usuario').asstring;
ibTable1.FieldByName('nombre').asstring:= table1.FieldByName('nombre').asstring;
ibTable1.FieldByName('clave').asstring:= table1.FieldByName('clave').asstring;
ibTable1.FieldByName('nivel').asstring:= table1.FieldByName('nivel').asstring;
ibTable1.FieldByName('empresa').asstring:= table1.FieldByName('empresa').asstring;
//Aquí sigues igualando
ibTable1.Post;
Table1.Next;
end;
IBTransaction1.CommitRetaining;
end;

lo que necesito se algun codigo que me lea el nombre del campo de la tabla antigua, y luego cree un campo en la tabla nueva con el mismo nombre dle anterior.... es posible hacer eso???

muchas gracias por su tiempo.... saludos
Responder Con Cita