Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   mysql no guarda los decimales (https://www.clubdelphi.com/foros/showthread.php?t=41965)

pborges36 30-03-2007 02:06:52

mysql no guarda los decimales
 
Hola a todos: tengo un sistema de facturacion desarrollado en Delphi 6 y y base de datos en mysql 4.0.20 a la cual me conecto a travez del odbc. El problema es que aletoriamente, los importes se graban en la base de datos sin los decimales. Es decir ni si quiera redondea, por ej: 15,90 en la base de datos se grabo 15. Esto sucede hasta que cerramos completamente el sistema o incluso hasta que reiniciamos la pc. Despues continua normalmente hasta que otra vez lo mismo. Alguien sabe porque sucede esto?
Ya me fije en la configuracion regional de las pc: separador de decimales: punto y separador de miles: coma. Incluso para asegurarme cuando arranca la aplicacion hago lo sig:

Código Delphi [-]
    DecimalSeparator := '.';
    ThousandSeparator := ',';

Pero aun asi el problema continua. Espero me puedan ayudar. Gracias. Saludos.

Lepe 30-03-2007 14:43:49

las variables que comentas de la unidad Sysutils, tienes que hacerlo en el primer Form o Datamodule que crees, en su apartado initialization:

Código Delphi [-]
Abajo del todo del código:
initialization
   DecimalSeparator := '.';
    ThousandSeparator := ',';

En cuanto al problema que tienes... no puedo ayudarte.

Saludos.

juanfergl 01-04-2007 20:44:21

Puede ser el metadata de la Tabla
Mira esto
Create table laTabla(
llave int not null,
tuValorDecimal numeric (10,2) //esto kiere decir que este campo almacena 10
posiciones enteras y 2 decimales
);

cualquier cosa Grita

pborges36 02-04-2007 18:53:01

Muchas gracias juanfergl, pero mis campos estan declarados de esa manera, de hecho son: decimal(20,4) y en realidad tengo entendido que son 20 lugares de los cuales 4 son decimales, o sea 16 enteros y 4 decimales.

Quizas no deberian ser decimal(20,4). Deberia ser de otra manera?


La franja horaria es GMT +2. Ahora son las 22:25:13.

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