Ver Mensaje Individual
  #3  
Antiguo 21-08-2014
Leopard2 Leopard2 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 39
Reputación: 0
Leopard2 Va por buen camino
Hola, gracias por la respuesta. te cuento, La tabla en DBf tiene definido el campo RUT como Numeric, Float es el otro formato en que lo puedo convertir para traspasar, pero es una alternativa.
La rutina es un ciclo con una tabla Prove (Dbf) en el Datamodulo MasterDb, que esta unida a través de un Alias al BDE para acceder y Proveedores es la tabla de firebird :

Código Delphi [-]
procedure TFSystem.Button1Click(Sender: TObject);
begin
  Masterdb.Prove.First;
  While not Masterdb.Prove.EOF do
   Begin
      with Masterdb.IBSQL2 do
       begin
         SQL.Clear;
         SQL.Add( 'INSERT INTO  PROVEEDORES' );
         SQL.Add( '( RUT, DV, EMPRESA, CONTACTO, DIRECCION, CIUDAD, FONO1, GIRO, EMAIL1, FORMAPAGO, WEB )' );
         SQL.Add( 'VALUES' );
         SQL.Add( '(:RUT,: DV,:EMP,:CON,: DIR,:CIU,:FON,:GIR, :EMA, :FOR, :WEB)' );
         ParambyName('RUT').AsInteger := Masterdb.ProveRUT.Value;
         ParambyName('DV').AsString := Masterdb.ProveDV.Value;
         ParambyName('EMP').AsString := Masterdb.ProveEMPRESA.Value;
         ParambyName('CON').AsString := Masterdb.ProveCONTACTO.Value;
         ParambyName('DIR').AsString := Masterdb.ProveDIRECCION.Value;
         ParambyName('CIU').AsString := Masterdb.ProveCIUDAD.Value;
         ParambyName('FON').AsString := Masterdb.ProveFONOS.Value;
         ParambyName('GIR').AsString := Masterdb.ProveGIRO.Value;
         ParambyName('EMA').AsString := Masterdb.ProveEMAIL.Value;
         ParambyName('FOR').AsString := Masterdb.ProvePAGO.Value;
         ParambyName('WEB').AsString := Masterdb.ProveWEB.Value;
         ExecQuery;
       end; // Whit
     Masterdb.prove.Next;
   End; // While
   Try
     Masterdb.IBTrsc.CommitRetaining;
     ShowMessage('! PROVEEDORES GRABADO CORRECTAMENTE !');
   Except
     Masterdb.IBTrsc.RollbackRetaining;
     ShowMessage('Se produjo un error y no se grabarón los datos de PROVEEDORES');
   end;
end;

Pd. no se si fue la mejor idea definir los campos como Integer en la nueva tabla de Firebird.

Última edición por Casimiro Notevi fecha: 21-08-2014 a las 19:29:40.
Responder Con Cita