Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2014
Leopard2 Leopard2 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 39
Poder: 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
  #2  
Antiguo 21-08-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Leopard2.
Cita:
Empezado por Leopard2 Ver Mensaje
...La tabla en DBf tiene definido el campo RUT como Numeric,
...
Pd. no se si fue la mejor idea definir los campos como Integer en la nueva tabla de Firebird.
Por lo que pude leer aquí DBF Field Types and Specifications, creo que no. Pienso que en Firebird, tendrías que usar un tipo escalado, INTEGER o DECIMAL.

Si el tipo de dato es NUMERIC, la precisión es exactamente la declarada. Si el tipo de datos es DECIMAL la precisión es al menos igual a la declarada.

Para cambiar el tipo usa ALTER de forma similar a este ejemplo:
Código SQL [-]
ALTER TABLE PROVEEDORES ALTER COLUMN RUT TYPE NUMERIC(15, 3)
Respetando la escala y precisión que estaba definida en el campo RUT de la tabla DBF.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
guardar precios. numeric o float? Patricio Firebird e Interbase 5 07-10-2008 16:21:17
Redondeo de un numeric a integer. mcalmanovici SQL 5 25-04-2007 20:55:04
Float o Integer Caral Varios 9 24-11-2006 10:23:31
Como Convertir un dato Integer ó Float a String en FireBird???? AGAG4 Firebird e Interbase 8 04-12-2004 02:59:47
numeric-double precision-decimal-float Giniromero Firebird e Interbase 1 14-08-2003 18:31:29


La franja horaria es GMT +2. Ahora son las 19:07:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi