Ver Mensaje Individual
  #8 (permalink)  
Antiguo 01/02/2005, 19:00
devnet
 
Fecha de Ingreso: agosto-2004
Mensajes: 8
Antigüedad: 20 años, 6 meses
Puntos: 0
Lo que te sucede es que la configuracion regional de tu equipo esta definido para usar coma (,) como separador decimal es por esto que al haber decimales transforma el double a una cadena con coma y asi se envia en la sentencias SQL, ahor abien tienes dos opciones

1) La mas sencilla, cambia la configuracion regional para que se use el separador como decimal, normalmente sucede por instalar window con una version de españa

2) La segunda es un poquito complicada, pero es independiente de la configuracion regional, (imaginate que al instalar tu programa no tienes control sobre la configuraciones regionales de donde estara), en este caso puedes obligar a utilizar un formato en especifico de la siguiente manera

****************

Public Shared Function decimalToString(ByVal decimalValue As Decimal) As String

Dim nfi As System.Globalization.NumberFormatInfo = New System.Globalization.CultureInfo(System.Globalizat ion.CultureInfo.CurrentCulture.Name, False).NumberFormat
nfi.NumberDecimalSeparator = "."
nfi.NumberGroupSeparator = ""
decimalToString = decimalValue.ToString("N", nfi)

End Function

*****************

Esta funcion lo que hace es recibir un decimal y regresarte una cadena con separador decimal como punto, y asi es mas facil invocarla desde cualquie Sql que requieras guardar los decimales de la siguiente manera

******************************

sql = "INSERT INTO tabla1 VALUES('01', " & decimalToString(val) & ")"

******************************

Espero que te sirva

Saludos.