FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Mysql-ODBC- numeros decimales
Hola gente, a ver si alguien ha tenido este problema:
Tengo un sistema en el cual trabajo con delphi 2010, ODBC y Mysql. Hace mucho tiempo que intento descubrir el origen de un error, que estoy casi seguro lo genera el odbc (version 3.51). El problema surge al momento de guardar un número decimal. Si se corre al programa en modo debugg, no hay problema y los números decimales se guardan de manera correcta en la BD. Si el programa luego se ejecuta desde el .exe, los redondea. A veces, borrando toda la tabla y volviendo a cargar los valores, funciona cuando se ejecuta desde el ejecutable, pero no en modo debugg. A alguien le paso algo así? Lo peor de todo es que no consigo MyDac (gratis) para delphi 2010...si no, ni hubiera dudado en usarlo, antes que al maldito ODBC. Ojalá alguien tenga la respuesta. Saludos! |
#2
|
||||
|
||||
Cita:
En cuanto a tu pregunta, creo que necesitas aclararnos un poco más y poner tu código. |
#3
|
||||
|
||||
También podría usar ZEOS (gratis) y dejarse de maldiciones
LineComment Saludos |
#5
|
|||
|
|||
Cita:
Si...es que tampoco hay nada raro... osea, por ejemplo: sql:='UPDATE 008_Conceptos SET '+ 'Conc_Importe=:qImporte,Conc_Actualizable=:qActua,Conc_NroOrden=:qOrden '+ 'WHERE Conc_ID='+inttostr(Var_Global.ID_Conceptos); dm.Q_Conceptos.Close; dm.Q_Conceptos.SQL.Clear; dm.Q_Conceptos.SQL.Add(sql); dm.Q_Conceptos.Parameters.ParamByName('qImporte').Value :=strtofloat(t_importe.text); dm.Q_Conceptos... dm.Q_Conceptos... dm.Q_Conceptos.ExecSQL; Ni siquiera entro en el detalle del formato del Nro real que deseo. El error es que si funciona en modo debugg (guardando el nro con sus decimales), no funciona ejecutando el .exe (lo redondea) , y viceversa...la pregunta era si a alguien le había pasado algo así...es muy raro. Llevo mucho tiempo luchando con esto y leyendo millones de foros y no hay solución... Probé muchisimos Drivers y nada...siempre el mismo problema. Voy a tener que usar Zeos... |
#6
|
||||
|
||||
Bien, antes de continuar:
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración Y recuerda poner los tags al código fuente, ejemplo: Gracias |
#7
|
|||
|
|||
Que tipo de datos tiene en la tabla la columna Conc_Importe?. Si el tipo de dato es float o double la propia base de datos puede tener tendencia a "redondear" o aproximar los datos. Este comportamiento me ha ocurrido en Firebird 2.5. El problema lo he corregido utilizando tipos de datos DECIMAL o NUMERIC en las columnas de las tablas.
Otro punto a tener en cuenta es que la función strtofloat es sensible a la configuración regional y puede estar omitiendo el texto posterior al "punto" o "coma" decimal al realizar la conversión, aún cuando se haya establecido correctamente la variable global DecimalSeparator a menos que también se use la instrucción Application.UpdateFormatSettings := False;. |
#8
|
|||
|
|||
Cita:
El tipo del campo es DECIMAL (10,2). Tengo en cuenta el DecimalSeparator y la configuración regional. Lo raro de esto, es que a veces se genera el problema y a veces no. Por eso es muy difícil descubrir que es lo que está pasando. Quizás tengo algún error implícito con el ODBC y ni cuenta me estoy dando. Empece a usar Zeos y me funciona perfecto. Debido a que es un sistema importante (en cuando a cantidad de módulos y operaciones) dudaba en utilizarlo, no se que confianza tenerle a Zeos...pero por el momento funciona. Tengo un sólo problema con Zeos, que no tiene que ver con conversiones, sino que al ejecutar el paso a paso usando un BreackPoint me acusa el error "Source File not found ZAbstractRODataset.pas" en el primer intento de hacer un trace to next source line. No se si a alguien le pasó algo así... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
mostrar números decimales | lucas05 | Varios | 5 | 07-12-2011 16:40:58 |
guardar números decimales | lucas05 | Varios | 3 | 29-11-2011 19:52:52 |
Numeros con más de 18 decimales | HySTD | Varios | 1 | 21-08-2008 21:10:32 |
mostrando numeros decimales | ercrizeporta | Varios | 2 | 01-07-2007 21:05:24 |
Imprimir NÚmeros Sin Decimales | jadelphi | Varios | 2 | 12-04-2005 12:07:21 |
|