![]() |
Convertir campos numeric o float en Integer
Hola, estoy migrando una aplicación que utiliza bases tipo DBF a Firebird 2.5 y necesito traspasar la información almacenada en los DBF a las nuevas tablas en firebird, hice una rutina para recorrer la base y grabar en la base de datos, con los campos String ningún problema pero tengo un problema con los campos numericos o Float para convertirlos a Integer, no hay una sentencia como es StrToInt para FloatToInt o RealToInt ?
Saludos |
Podrías usar Trunc (o también Round):
O bien la propiedad AsInteger de los campos. Sería bueno que mostraras un poco del código de esa rutina. Una pregunta: ¿a qué se debe que desees convertir campos flotantes a enteros? |
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 :
Pd. no se si fue la mejor idea definir los campos como Integer en la nueva tabla de Firebird. |
Hola Leopard2.
Cita:
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: Respetando la escala y precisión que estaba definida en el campo RUT de la tabla DBF. Saludos :) |
Estimado, para realizar una migracion lo optimo es que las dos bases de datos posean la misma estructura. Luego con un pequeño programa delhi puedes realizar la migracion de toda la informacion de la una base a la otra. Es necesario que los campos de las tablas tengan los mismos nombres en ambas bases.
|
La franja horaria es GMT +2. Ahora son las 15:38:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi