Foros del Web » Programando para Internet » ASP Clásico »

posiciones decimales

Estas en el tema de posiciones decimales en el foro de ASP Clásico en Foros del Web. Es la primera vez que entro aquí. Me ha surgido un problema al manipular valores con decimales. Trabajo en ASP sobre una base de datos ...
  #1 (permalink)  
Antiguo 28/08/2003, 09:32
 
Fecha de Ingreso: agosto-2003
Ubicación: cádiz
Mensajes: 3
Antigüedad: 21 años, 8 meses
Puntos: 0
posiciones decimales

Es la primera vez que entro aquí.

Me ha surgido un problema al manipular valores con decimales. Trabajo en ASP sobre una base de datos Access. La aplicación que estoy desarrollando crea un registro con valores decimales sin ningún problema. pero al intentar leerlos mediante una instrucción sql, resulta que se produce el siguiente error:


Microsoft JET Database Engine error '80040e14'

Syntax error (comma) in query expression 'lote=1 and puja=23,45'.

/suprecio/main/pujar.asp, line 46

Posiblemente sea una tontería (llevo sólo dos meses tocando ASP y todo me resulta nuevo), pero no consigo ver dónde puede estar el error.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 28/08/2003, 16:02
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 9 meses
Puntos: 0
Por favor, poné la línea 46 que es donde algo anda mal así podemos verla.
Saludos, suerte.
  #3 (permalink)  
Antiguo 29/08/2003, 01:03
 
Fecha de Ingreso: agosto-2003
Ubicación: cádiz
Mensajes: 3
Antigüedad: 21 años, 8 meses
Puntos: 0
si claro, qué descuido!

La sentencia sql que da problemas es esta:

sql4 = "select * "
sql4 = sql4 & "from pujas "
sql4 = sql4 & "where lote=" & Request.Form("lote")
sql4 = sql4 & " and puja=" & Request.Form("puja")
Ob_RS4.Open sql4 , Ob_Conn, AdOpenStatic, adLockOptimistic, adCmdText

Sin embargo creo que el código está correcto. No sé muy bien sin el cerrojo que he escogido es el adecuado. Una vez encontrado el registro debo hacer cambios sobre él. Ya me contáis lo que os parece.

Otra vez muchas gracias.
  #4 (permalink)  
Antiguo 29/08/2003, 01:06
Avatar de nazkatuta  
Fecha de Ingreso: julio-2002
Ubicación: EH - BCN
Mensajes: 222
Antigüedad: 22 años, 9 meses
Puntos: 0
Hola,
El problema creo que es que el indicador decimal que estas usando es una coma cuando tendria que ser un punto.
__________________
Cita:
Gaur ere nahi nuke...
zure ondoan esnatu
  #5 (permalink)  
Antiguo 01/09/2003, 16:12
 
Fecha de Ingreso: agosto-2003
Ubicación: cádiz
Mensajes: 3
Antigüedad: 21 años, 8 meses
Puntos: 0
Cuando utilizo el punto como separador de decimales, la aplicación quita este punto y guarda el número resultante. ¿Sigo sin entender qué puede pasar?
  #6 (permalink)  
Antiguo 02/09/2003, 12:29
 
Fecha de Ingreso: enero-2003
Ubicación: La Plata. Buenos Aires.
Mensajes: 9
Antigüedad: 22 años, 3 meses
Puntos: 0
Creo tener la respuesta que buscas.
Deberias convertir los datos con los cuales haces la busqueda. Es decir:
sql4 = "select * "
sql4 = sql4 & "from pujas "
sql4 = sql4 & "where lote=" & Request.Form("lote")
sql4 = sql4 & " and puja=" & CDBL(Request.Form("puja"))
Ob_RS4.Open sql4 , Ob_Conn, AdOpenStatic, adLockOptimistic, adCmdText

Con CDBL convertís un dato de tipo variant a un double (con el cual podes usar decimales sin problemas)

Espero te sirva.
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 00:00.