![]() |
SQL y coma decimal
Hola amigos, una consulta...
Utilizo Delphi 2006 y Firebird 2.0 Intento almacenar un registro en una base de dato utilizando este codigo.
La tabla iventario esta definida como sigue: id: varchar precio: doubleprecision El problema surge cuando intento almacenar un registro que el precio no es un numero entero sino por ejemplo: 123,456. Lo que ocurre es que se me almacena un registro que en el campo precio tiene un valor de 123456... es como si la coma decimal desapareciera. Porque ocurre esto?? Como lo soluciono?? Gracias |
Hola,
Creo que en lugar de "asString" deberías usar algo como "asDouble" cuando preparas el valor del "parámetro precio". Ya digo que no estoy seguro, pero, pareciera que la coma se pierde al convertir el valor a "string", y por eso lo digo. :rolleyes: |
El problema viene porque en SQL, los decimales los marca el punto y no la coma.
Tendrás que convertirlo a texto, y luego por ejemplo utilizar StringReplace, para sustituir la coma por el punto. Si la ocasión lo merece puedes construirte una función que haga todo en uno y que compruebe también la integridad de los datos a convertir. Un Saludo. |
Lo que veo yo es que el valor CurrencyEdit1.Text, es el valor numerico con formato, proba con esto
|
La franja horaria es GMT +2. Ahora son las 04:09:35. |
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