MySQL - Datos decimales guardados como enteros

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Datos decimales guardados como enteros

Publicado por Diego (10 intervenciones) el 25/10/2018 19:51:10
Buenas tardes.
A ver si puedo explicar el tema claramente.

Tengo un sistema en VB.NET que utiliza MySql como base de datos.
Una tabla tiene un campo llamado neto_gravado tipo decimal (10,2).
Un procedimiento almacenado para agregar un registro con un parametro p_neto_gravado de tipo decimal 10,2.

Del lado de VB tengo una clase Factura con una propiedad _neto_gravado de tipo decimal.
Una funcion para guardar el registro con parametros:

cmd.Parameters.AddWithValue("p_neto_gravado", factura._neto_gravado)

En esa instruccion le asigno al parametro p_neto_gravado el valor de la propiedad _neto_gravado del objeto Factura

Obiamente estoy referenciando una sola linea, en si la funcion tiene unos 40 parametros.
Todo funciona correctamente, el registro es almacenado peeeeeero....si el parametro tiene un valor de 17.36 en la BD me regisrtra 17.00 y esto me pasa con todos los valores decimales.

No es el primer sistema que hago con esta metodología y funcionan perfecto, pero en este caso no logro ver dónde me equivoqué.

Recurro a ustedes porque hace mas de 36 horas que no duermo y ya no tengo la capacidad de encontrar el error.
Comparé el código con otros sistemas y no veo diferencias, ni en el código ni en las tablas, ni en los procedimientos almacenados......Necesito dormir, pero quiero resolver esto antes.
Debo tener la solución delante de mis ojos, pero no la veo.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 10
Ha aumentado su posición en 3 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Datos decimales guardados como enteros

Publicado por Diego (10 intervenciones) el 25/10/2018 21:14:24
Solucionado.
Cambié el tipo de dato en los parametros del procedimiento almacenado a float y funcionó.
No entiendo por qué pasó esto porque tengo otro sistema idéntico con el tipo de dato en decimal y funciona perfecto.

Me voy a dormir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar