Principales respuestas
como tomar la configuracion regional del pc desde asp.net

Pregunta
-
Buenos dias
tengo un problema tengo una base de datos con la siguiente tabla nombreestudiante varchar de 100, el campo nota decimal 5,2 y el campo fallas integer 11
al enviarle a la base de datos desde el aplicativo de asp.net, cuando le envio 2.3 me llega a la tabla como 23 eso me pasa cuando la pagina web esta subido en el domini, pero desde el local si lo envia bien, necesito saber la configuracion regional del equipo para saber cual es el separador decimal si es una coma o un punto estoy utilizando este codigo para enviar a la base de datos.
Dim mycomand As New MySqlCommand Dim mycomand1 As New MySqlCommand Try mycomand.CommandText = "paJuiciosEditar" mycomand.CommandType = CommandType.StoredProcedure mycomand.Parameters.Add(New MySqlParameter("?_id", MySqlDbType.Int64, 11)) mycomand.Parameters("?_id").Value = CInt(key) mycomand.Parameters.Add(New MySqlParameter("?_periodo", MySqlDbType.Int16, 1)) mycomand.Parameters("?_periodo").Value = Session("_periodo") Dim valuecom As String = "" Dim valu As String = value valuecom = valu.Replace(".", ",") 'Replace(value, ".", ",") mycomand.Parameters.Add(New MySqlParameter("?_valor", MySqlDbType.Decimal, 5, 2)) mycomand.Parameters("?_valor").Value = valuecom mycomand.Parameters.Add(New MySqlParameter("?_calificacion", MySqlDbType.VarChar, 1)) mycomand.Parameters("?_calificacion").Value = "" mycomand.Connection = Session("myconeccion") mycomand.ExecuteNonQuery() Catch ex As Exception Finally mycomand.Parameters.Clear() mycomand.Dispose() End Try
pero no me funciona...
gracias por su colaboracion
Respuestas
-
hola
porque no defines esta en el web.config
Cómo: Establecer referencia cultural actual mediante programación en una aplicación de ASP.NET
solo defines
<configuration> <system.web> <globalization culture="es-Es" uiCulture="es-Es" /> </system.web> </configuration>
ademas eso de usar Replace para los puntos y asl comas no es bueno
deberias usar el tipo correcto cuando asignas datos por parametro
si el parametri undica quee s decimal no le asignes un string, "valuecom" tiene que ser de tipo correcto, usa
Dim valuecom As Decimal If Not Decimal.TryParse(value, valuecom) Then lblerror.Text = "el tipo no es correcto" Return End If mycomand.Parameters.Add(New MySqlParameter("?_valor", MySqlDbType.Decimal, 5, 2)) mycomand.Parameters("?_valor").Value = valuecom
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Editado Leandro TuttiniMVP sábado, 24 de marzo de 2012 15:28
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42
-
Obtener la configuración de la PC no es posible hasta donde sé, pero existe una buena posibilidad de "adivinarla" con Request.UserLanguages.
//En donde usted necesite obtener el valor: CultureInfo ci = new CultureInfo(Request.UserLanguages[0]); decimal elValor = Decimal.Parse(Textbox1.Text, ci); //Ahora elValor contiene el valor digitado por el usuario //en la casilla Textbox1, tal y como lo interpretaría //la PC del cliente (o al menos eso creemos).
Jose R. MCP
- Editado webJoseModerator sábado, 24 de marzo de 2012 15:48
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42
-
Hola programadora Alejita
Dos temas
TEMA 1: La parte de decimal...
Como te comenta Leandro es buena practica definir la referencia cultura que va a utilizar tu app para todo lo referente al idioma/lenguaje (numeros, fechas, etc)
Si no colocas la referencia cultural por default el sistema se configura "automaticamente" a la referencia enviada por el explorador del cliente (esto ya es tema 2) pero lo aclaro porque puede ser el problema que tienes...
TEMA 2: Obtener configuracion regional de la "PC cliente" (en ASP.NET)
Una acotacion a la pregunta
- "como tomar la configuracion regional del pc desde asp.net ??"
Bueno de poder se puede, cuando se configura en auto la referencia cultural de la interfaz de usuario y la referencia cultura la aplicacion se "ajustara" al primer referencia de cultura (idioma) presentado por el explorador (es a la primera porque se pueden enviar varios)
<configuration> <system.web> <globalization culture="auto" uiCulture="auto" /> </system.web> </configuration>
Como probar, ejemplo en IE para configurar para enviar otro "idioma"...
El sistema tomara la cultura "fr-FR" como principal si esta confugurado en AUTO ambas propiedades que te mencionamos aqui
Enlaces que te pueden ayudar
- Globalización y adaptación en ASP.NET
http://msdn.microsoft.com/es-es/library/c6zyy3s9.aspx - Cómo: Establecer la referencia cultural y la referencia cultural de la interfaz de usuario para la globalización de páginas web ASP.NET
http://msdn.microsoft.com/es-es/library/bz9tc508.aspx
- Elemento globalization (Esquema de configuración de ASP.NET)
http://msdn.microsoft.com/es-es/library/hy4kkhe0(v=vs.80).aspx
Espero que te sirva de ayuda o guia.
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42
Todas las respuestas
-
hola
porque no defines esta en el web.config
Cómo: Establecer referencia cultural actual mediante programación en una aplicación de ASP.NET
solo defines
<configuration> <system.web> <globalization culture="es-Es" uiCulture="es-Es" /> </system.web> </configuration>
ademas eso de usar Replace para los puntos y asl comas no es bueno
deberias usar el tipo correcto cuando asignas datos por parametro
si el parametri undica quee s decimal no le asignes un string, "valuecom" tiene que ser de tipo correcto, usa
Dim valuecom As Decimal If Not Decimal.TryParse(value, valuecom) Then lblerror.Text = "el tipo no es correcto" Return End If mycomand.Parameters.Add(New MySqlParameter("?_valor", MySqlDbType.Decimal, 5, 2)) mycomand.Parameters("?_valor").Value = valuecom
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Editado Leandro TuttiniMVP sábado, 24 de marzo de 2012 15:28
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42
-
Obtener la configuración de la PC no es posible hasta donde sé, pero existe una buena posibilidad de "adivinarla" con Request.UserLanguages.
//En donde usted necesite obtener el valor: CultureInfo ci = new CultureInfo(Request.UserLanguages[0]); decimal elValor = Decimal.Parse(Textbox1.Text, ci); //Ahora elValor contiene el valor digitado por el usuario //en la casilla Textbox1, tal y como lo interpretaría //la PC del cliente (o al menos eso creemos).
Jose R. MCP
- Editado webJoseModerator sábado, 24 de marzo de 2012 15:48
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42
-
Hola programadora Alejita
Dos temas
TEMA 1: La parte de decimal...
Como te comenta Leandro es buena practica definir la referencia cultura que va a utilizar tu app para todo lo referente al idioma/lenguaje (numeros, fechas, etc)
Si no colocas la referencia cultural por default el sistema se configura "automaticamente" a la referencia enviada por el explorador del cliente (esto ya es tema 2) pero lo aclaro porque puede ser el problema que tienes...
TEMA 2: Obtener configuracion regional de la "PC cliente" (en ASP.NET)
Una acotacion a la pregunta
- "como tomar la configuracion regional del pc desde asp.net ??"
Bueno de poder se puede, cuando se configura en auto la referencia cultural de la interfaz de usuario y la referencia cultura la aplicacion se "ajustara" al primer referencia de cultura (idioma) presentado por el explorador (es a la primera porque se pueden enviar varios)
<configuration> <system.web> <globalization culture="auto" uiCulture="auto" /> </system.web> </configuration>
Como probar, ejemplo en IE para configurar para enviar otro "idioma"...
El sistema tomara la cultura "fr-FR" como principal si esta confugurado en AUTO ambas propiedades que te mencionamos aqui
Enlaces que te pueden ayudar
- Globalización y adaptación en ASP.NET
http://msdn.microsoft.com/es-es/library/c6zyy3s9.aspx - Cómo: Establecer la referencia cultural y la referencia cultural de la interfaz de usuario para la globalización de páginas web ASP.NET
http://msdn.microsoft.com/es-es/library/bz9tc508.aspx
- Elemento globalization (Esquema de configuración de ASP.NET)
http://msdn.microsoft.com/es-es/library/hy4kkhe0(v=vs.80).aspx
Espero que te sirva de ayuda o guia.
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
- Propuesto como respuesta Eder CostaModerator martes, 27 de marzo de 2012 13:59
- Marcado como respuesta Eder CostaModerator lunes, 2 de abril de 2012 13:42