Foros del Web » Programación para mayores de 30 ;) » .NET »

SQL y problemas con decimales

Estas en el tema de SQL y problemas con decimales en el foro de .NET en Foros del Web. Hola foreros! (Ya hacía tiempo que no planteaba una pregunta). El caso es que ando mosca con la solución que he encontrado a mi problema. ...
  #1 (permalink)  
Antiguo 15/07/2004, 04:25
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
SQL y problemas con decimales

Hola foreros!

(Ya hacía tiempo que no planteaba una pregunta). El caso es que ando mosca con la solución que he encontrado a mi problema. Os muestro mi problema y mi solución para ver si podeis encontrar una solución más factible:

En mi base de datos tengo campos de tipo MONEY y a la hora de introducir los valores con decimales me daba un error ya que necesitaba que la separación de los decimales fuera el punto y no la coma. Hice de todo y al final, dando "volteretas" por los foros hice esto:

Código:
Dim valor as decimal

//en lbValor.text tengo 12,34 (por ejemplo)
Session.LCID = 2058
valor = lbValor.text.replace(",", ".")
//A continuación lo meto en la base de datos
Session.LCID = 3082
Resumiendo: tengo que meter el contenido del label en una variable del tipo DECIMAL. Luego cambio el LCID de la Session para que la separación de los decimales sea el punto. En valor tengo que meter el contenido del label para cambiando la coma por el punto. Hago lo que quiera con el "valor" y vuelvo a poner el LCID de la Session como estaba anteriormente.

ENGORROSO VERDAD?

Seguro que sabeis una forma más lógica aunque esta funcione.
Saludos!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #2 (permalink)  
Antiguo 15/07/2004, 12:35
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
Hola PhonC.

A mí me parece una buena solución, que utilicé una vez cuando tenía una base de datos en las que había fotografías que llevaban en el nombre alguna ",", y me daba error, por lo que tuve que cambiar la "," por "_" y luego guardarlas. Bueno, era una cosa rara.

De todas formas se me ocurren otras 2 soluciones:

a) Que detectes qué tecla se pulsa al introducir el valor en el textbox, y en caso de que sea una "," te la cambie por un "." (con el autopostback).

b) que al avanzar al siguiente campo (o la dar al botón enviar, o lo que sea), que salga un mensajito avisando que no se deben meter comas sino puntos

c) Que no se pueda meter comas (hay alguna manera de meter las teclas que se pueden pulsar), y yo creo que el que esté en la página lo relacionará conque hay que meter puntos.

De todas formas ya te digo qeu tu solución no me parece mala para nada.

Un saludo.
__________________
Pide lo que quieras...y luego paga por ello
  #3 (permalink)  
Antiguo 16/07/2004, 00:01
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Hombre! Hola luiscl!!!

Tu solución sería muy buena si no fuera porque el resultado que va en el textbox se autogenera y no se escribe directamente en él. Osea... que despues de unos cálculos, aparece un resultado en el textbox y ese resultado sale con la coma ",".

De todas formas gracias por tu opinión sobre mi solución ya que para mi vale mucho.

Saludos!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #4 (permalink)  
Antiguo 16/07/2004, 07:32
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 22 años, 11 meses
Puntos: 0
Siempre hay problemas con los tipos cuando se convierten a cadena, porque en la cadena queda la reperestentacion visual del valor y no el tipo interno del valor, te conviente meter un valor en viewstate ya que los tipo basicos los conserva y despues usar parametros de sql para meterlo en la base y no concatenacion de cadenas... sirve para fechas y todo tipo de datos, a parte que es mas seguro...

Saludos...
__________________
Martin
  #5 (permalink)  
Antiguo 16/07/2004, 08:42
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Hola Martín.

¿Qué parámetro sería ese? He intentado con CONVERT al tipo MONEY pero ... nada

De todas formas me parece que me quedaré con mi solución, aunque esperaba aprender alguna otra forma más sencilla.

Saludos!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:20.