Visual Basic.NET - Problema al insertar decimales en mariaDB

 
Vista:
Imágen de perfil de Miguel
Val: 357
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al insertar decimales en mariaDB

Publicado por Miguel (211 intervenciones) el 07/10/2018 17:50:48
Hola hace unos días no conseguía cargar fechas en mariaDB pero di con el problema. La solución fue esta :

en el formulario puse el campo como "__-__-____" y en el programa le cadena de INSERT de la forma siguiente :

SQL = "Insert Into Ventas (PUnitario,Iva,ImporIva,Fecha,Total) Select '" & txtPUnitario.Text & "',','" & txtIva.Text & "','" & txtImporIva.Text & "',str_to_date('" & txtFecha.Text & "','%d-%m-%Y'),'" & txtTotal.Text & "'"

Para que se vea mejor : ,str_to_date('" & txtFecha.Text & "','%d-%m-%Y'),

Sin embargo para cargar valores con decimales no encuentro un format str_to_???, pues he probado poniendo ste_to_decimal y otro terminos que indentifican a los decimales pero no me funciona. Al final he recurrido hacer antes de la inserción un replace de dichos campos y así si me funciona.

Ejemplo : txtPUnitario.Text = Replace(txtPUnitario.Text, ",", ".")

Me gustaría si alguien conoce la solución me explicara como hacerlo. Si alguno quiere el código completo que me mande un correo y se lo envío para que se vea todo el código.

Un saludo y 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

Problema al insertar decimales en mariaDB

Publicado por omar (30 intervenciones) el 08/10/2018 17:39:31
Saludos enviame la parte donde te da el error para checarlo y te envare el resultado
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
Imágen de perfil de Plutarco
Val: 27
Ha disminuido su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al insertar decimales en mariaDB

Publicado por Plutarco (14 intervenciones) el 13/11/2018 19:54:25
Que tal Miguel, la verdad no entiendo bien la pregunta, sin embargo al ver tu comando, me parece muy raro que tus campos sean de tipo varchar cuando deberían ser numéricos, es decir, PUnitario, Iva, ImporIva, etc en tu comando de SQL los mandas como si fueran varchar,, además que tu cadena de comando está mal formada, la cosa es que tampoco entiendo qué quieres hacer con la fecha, podrías ser más específico y si no fuera molestia pon también la descripción de tu tabla Ventas

Salud2
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
Imágen de perfil de Miguel
Val: 357
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al insertar decimales en mariaDB

Publicado por Miguel (211 intervenciones) el 13/11/2018 22:53:49
Gracia con entrar en el tema y paso a explicar el problema que tengo. Esos campos son todos decimales y en principio el string formado para lInsertar funciona correctamente siempre antes de proceder a ello haga un cambio de la coma decimal por un punto ya que MySql no admite dicha coma. Ahora las fechas tal y como las tengo en el string se cargan en MySql sin problemas siempre y cuando que en el formulario pongas la caratula de esta manera ·"__-__-____" y en el Sql pongas la función "str_to_date('" & txtVto.Text & "','%d-%m-%Y')".

Ahora bien lo que yo trato de conseguir es que en vez de hacer un Replace de la coma por el punto antes de Insertar, estaba buscando una función que como con la fecha me permita Inserta los campos decimales en MySql.

Te mando todo el código para que veas de que hablo.


txtPUnitario.Text = Replace(txtPUnitario.Text, ",", ".")
txtImporte.Text = Replace(txtImporte.Text, ",", ".")
txtImporIva.Text = Replace(txtImporIva.Text, ",", ".")
txtTotal.Text = Replace(txtTotal.Text, ",", ".")

SQL = "Insert Into Ventas (Cod,IdCli,Producto,Unidades,PUnitario,Importe,Iva,ImporIva,Total,Fecha) Values('" & txtCod.Text & "','" &
txtIdCli.Text & "','" & txtProducto.Text & "','" & txtUnidad.Text & "','" & txtPUnitario.Text & "','" & txtImporte.Text & "','" & txtIva.Text &
"','" & txtImporIva.Text & "','" & txtTotal.Text & "',str_to_date('" & txtFecha.Text & "','%d-%m-%Y'))"

Si quieres más aclaraciones me dices por favor que te mando lo que me pidas.

Gracias y un saludo
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
sin imagen de perfil
Val: 157
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al insertar decimales en mariaDB

Publicado por Yamil Bracho (630 intervenciones) el 13/11/2018 23:09:29
No es buena idea tener sql dinamico para evitar inyeccion de SQL. te recomiendo usar un Command o quizas un stored procedure
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
Imágen de perfil de Miguel
Val: 357
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema al insertar decimales en mariaDB

Publicado por Miguel (211 intervenciones) el 13/11/2018 23:13:07
Me puedes pasar documentación de lo que me estás aconsejando. Lo de las Procedures hice algo pero al final tenía muchos problemas así que lo deje aparcado.

Gracias
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