FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿Error de Tdolphin con decimales MySql?
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
¿Error de Tdolphin con decimales MySql?
Posted: Sun Jun 06, 2021 02:01 AM
hola a todos y un gran saludo.

Tengo el siguiente caso:

Debo manejar numeros de 13 enteros con 8 decimales en una tabla MariaDB.

Hasta ahi todo bien como se ve en la siguiente figura:



El problema se presenta al hacer el query. Siempre retorna el valor del campo con solo 3 decimales y los redondea, como se puede ver aca:



¿Le ha pasado a alguien algo parecido? ¿Alguna sugerencia para solventar?

Tdolphin + FW17.01 +xHarbour + BCC7 + Pelles c (como editor de recursos)

Quedo Atento a sus gentiles respuestas
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: ¿Error de Tdolphin con decimales MySql? SOLUCIONADO
Posted: Mon Jun 07, 2021 10:30 PM

Saludos estimados amigos del foro.

Investigando y probando sobre el problema planteado sobre decimales, me encuentro que el mismo al parecer es heredado del viejo CLIPPER donde la precision con decimales se pierde cuando la variable numerica excede su maximo que segun lo leido es de 19 digitos.

Pense en un principio que era problema de la TDOLPHIN pero en las pruebas que hice en variables de memoria, el resultado fue el mismo, por lo que comprobe que nada tiene que ver la clase.

Muchas gracias a todo los que leyeron mi pregunta con la mejor intencion de ayudar.

Tenia entendido que con Harbour / xHarbour este tipo de limitaciones ya no existian, pero por lo menos en este caso, creo que aun esta alli.

Un abrazo amigos.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Mon Jun 07, 2021 10:31 PM
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 11:05 AM

Jose, muchas gracias por la info. No lo sabía a esto.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 11:24 AM
Jose, entiendo que has utilizado en tus pruebas
Code (fw): Select all Collapse
SET DECIMALS TO 8
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 01:42 PM

Hola César y Cristobal.

¿cómo están?

César, yo tampoco lo sabia, me costó 3 dias averiguarlo, :lol:

Cristóbal, si, por supuesto, tengo en el main.prg

Set Fixed On
Set Decimals to 8

Hice todas las pruebas que pude, ya que pensaba que era problema de la tDolhin que no me regresaba los valores correctos. Cuando se me ocurrió probar con valores de memoria fue que vi que el problema era de xBase.

Lo bueno es que aprendimos algo y quedará la pregunta para los creadores de xHarbour sobre esta limitación.

Gracias a ambos por su feed back.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 03:23 PM

Buenos días José, cuando el campo numérico es demasiado grande, debes usar un campo TEXTO, para almacenar los números y usar VAL () para transformar el campo de texto que contiene los números en números. Yo lo uso así. Abrazos.

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 07:01 PM

Hola joao saludos.

Tambien intenté de esa manera, pero a nivel de menoria igual se trunca la precision decimal.

En el caso que me ocupa necesito trabajar con numeros de 13 enteros y 8 decimales y no se puede almacenar un dato asi en memoria.

Por lo menos yo no pude. Si alguien prueba y consigue la solución sería bueno que compartiera.

Yo lo mas que pude manejar fue 8 enteros y 8 decimales. Si agrego un entero mas, se pierde la precision decimal.

Gracias por el feed back

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ¿Error de Tdolphin con decimales MySql?
Posted: Tue Jun 08, 2021 07:42 PM
Tal cual indica Jose, yo hice las mismas pruebas y obtuve lo mismo
Usando un
Code (fw): Select all Collapse
SELECT FORMAT(micampo, 8) as campo_formateado ,micampo FROM mitabla

Y luego haciendo xbrowse(oQry) obtento en el campo campo_formateado bien el numero con toda la precisión decimal (en formato texto) y no asi en micampo (el campo definido como DECIMAL 21,8 y tambien probé con float y double).
Claramente es una limitación de harbour

Continue the discussion