FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Delphi MySQL - Problema sumando/escribiendo en BD
Hola amigos,
Desde hace un par de semanas he estado teniendo un problema extraño con la escritura en una BD MySQL en la misma red. Constantemente tengo que incrementar los puntos Turnos y CestaTickets de un empleado en la tabla el campo era de tipo double 8,2 - pero hace poco mas de una semana lo cambie a decimal 8,2 aun no logro determinar si el problema radica en el codigo de la aplicacion, construida en Delphi usando Zeos o en la base de datos... Les muestro un poco mas Este es el procedimiento completo para incrementar los puntos
Este codigo lo he cambiado ya varias veces intentando encontrar que es lo que pasa, pero aun no he tenido exito en mi busqueda, recurro a ustedes a ver si ven algo que seguramente yo no puedo ver. Miren lo siguiente: Consultamos cuantos puntos paga la ruta por guardia(Turnos, y Cestatickets) en esa tabla cambie en este momento PagoPorTurno y PagoPorCT de double 8,2 a decimal 8,2.
Luego consultamos cuantos turnos y cestatickets tiene el conductor.
Finalmente actualizamos los puntos del conductor, aqui es donde esta el problema, supongamos que el conductor tiene 2.0 o 1.5 a veces y aleatoriamente al parecer NO suma correctamente los puntos, y no se si es la BD o el codigo realmente.
Tengo que destacar lo siguiente, son dos aplicaciones, en una los empleados se registran solos; este fue el codigo de la otra aplicacion, donde el operador los registra a ellos, el codigo de la primera aplicacion es practicamente igual a este. Lo dejare por aqui si alguien quiere darle un ojito en un comentario ya que aqui no cabe, el post supera los 20.000 caracteres. -- En pocas palabras el problema esta en que los puntos no son sumados/escritos correctamente en un momento determinado o aleatorio, realmente no puedo captar esto, quisiera hacer un pequeño log cuando los turnos vallan a ser actualizados, pero se me hace complicado por el sitio donde estan funcionando estas aplicaciones. Saludos amigos, gracias por su tiempo en leer esto, espero puedan ayudarme.
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible. Última edición por martini002 fecha: 09-09-2014 a las 17:57:46. |
#2
|
||||
|
||||
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible. |
#3
|
|||
|
|||
Si pusieras un ejemplo de valores esperados y encontrados igual no me arriesgaba a poner nada, pero el hecho de que digar que los fallos son aleatorios y no suceden siempre me hace arriesgarme. Soy recurrente en este asunto pero a mi me ha pasado algunas veces y con distintas bases de datos. Un número con dos decimales en decimal puede tener infinitos decimales en binario. A la hora de guardar datos decimales en una bd internamente se guardan en binario, y al extralerlos o trabajar con ellos bien pudiera ser que el redondeo a 2 decimales te juegue una mala pasada. Ya digo que voi a ciegas y apunto a este problema si le fallo es por un decimal.
Puedes probar a guardar en uno de esos campos el valor 2.1 y despues extarelo a ver que obtienes. 2.1 si lo pasas a binario (según el formato) podria acabar convirtiendose en 2.09999 la hacer el cambio inverso. sin embargo con 2.2 el cambio sería exacto. Como en algunas ocasiones este ha sido mi problema yo lo comento para que lo tengas en cuenta y por si fuera el problema. Bien es posible que el cambio de double 8,2 a decimal 8,2 tuviera como consecuencia en algunos casos un error en el redondeo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con consulta MySql en Delphi | franroju | Varios | 3 | 07-06-2012 15:50:45 |
Opinion con problema Delphi-MySQL | briones74 | Conexión con bases de datos | 2 | 28-07-2011 03:21:57 |
Problema con Mysql en delphi for php | JULIPO | PHP | 1 | 27-05-2010 19:09:42 |
problema de velocidad con mysql y delphi 6 | Byfed | Conexión con bases de datos | 2 | 03-02-2009 23:25:01 |
Problema con Delphi y MySql 5 | Besto | MySQL | 1 | 29-05-2007 17:33:33 |
|