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

Problema con un SELECT con un WHERE basado en un querystring...

Estas en el tema de Problema con un SELECT con un WHERE basado en un querystring... en el foro de ASP Clásico en Foros del Web. Tengo el siguiente código: ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")"" Siempre me devuelve el error típico de "Pocos parámetros. Se esperaba ...
  #1 (permalink)  
Antiguo 14/02/2007, 22:25
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 19 años, 1 mes
Puntos: 0
Problema con un SELECT con un WHERE basado en un querystring...

Tengo el siguiente código:

ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")""

Siempre me devuelve el error típico de "Pocos parámetros. Se esperaba 1".

El caso es que la tabla tiene suficientes registros, así que no es un error de que no hay datos, y el querystring creo que siempre devuelve un valor, ya que mi barra de navegación muestra: "bla, bla... socios03.asp?actividad=BAR"...

Creo que es un error de sintaxis, pues si quito desde el WHERE, la web funciona perfectamente. Sin embargo, he realizado varias pruebas, y no logro encontrar el error.

Muchas gracias y un saludo.

Moleman.
  #2 (permalink)  
Antiguo 14/02/2007, 22:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Problema con un SELECT con un WHERE basado en un querystring...

si el campo actividad es numérico:

ssql = "Select * FROM comerciantes_fichas WHERE actividad = " & Request.QueryString("actividad")

Si el campo actividad es string:

ssql = "Select * FROM comerciantes_fichas WHERE actividad = '" & Request.QueryString("actividad") & "'"


igual si no funciona, poné lo siguiente y verificá que todo esté OK:

ssql = "Select * FROM comerciantes_fichas WHERE actividad = " & Request.QueryString("actividad")
response.write ssql
response.end
__________________
...___...
  #3 (permalink)  
Antiguo 14/02/2007, 22:47
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 23 años, 3 meses
Puntos: 6
Re: Problema con un SELECT con un WHERE basado en un querystring...

Hola te falta &
ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")""
ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")&""
eso siempre que el resto lo tengas bien
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #4 (permalink)  
Antiguo 14/02/2007, 23:06
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Problema con un SELECT con un WHERE basado en un querystring...

Cita:
Iniciado por Gurrutello Ver Mensaje
Hola te falta &
....
ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")&""
....
Hola Gurrutello , si el campo actividad es numérico (cosa que hasta el momento desconocemos), la concatenación final (marcada en bold) está de más. Si el error es que le faltó colocar el ampersand ok... pero así y todo es innecesaria la concatenación con un string vació :)

Cita:
eso siempre que el resto lo tengas bien
saludos
__________________
...___...
  #5 (permalink)  
Antiguo 14/02/2007, 23:22
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 23 años, 3 meses
Puntos: 6
Re: Problema con un SELECT con un WHERE basado en un querystring...

Hola
Al Zuwaga no esta de mas si las continuamos con comillas ""
puesto que las esta abriendo -- codigo -- cerrando
en todo caso seria
ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #6 (permalink)  
Antiguo 14/02/2007, 23:30
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Problema con un SELECT con un WHERE basado en un querystring...

Cita:
Iniciado por Gurrutello Ver Mensaje
Hola
Al Zuwaga no esta de mas si las continuamos con comillas ""
puesto que las esta abriendo -- codigo -- cerrando
en todo caso seria
ssql = "Select * FROM comerciantes_fichas WHERE actividad = "&Request.QueryString("actividad")
Claro, que es lo mismo que puse como primera opción unos mensajes más arriba ;)
__________________
...___...
  #7 (permalink)  
Antiguo 15/02/2007, 06:29
 
Fecha de Ingreso: febrero-2007
Mensajes: 29
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Problema con un SELECT con un WHERE basado en un querystring...

A mi me paso lo mismo con un campo numerico y no siempre.
El tema es que cuando le pasaba el querystring me lo tomaba como str y no como numeroci

lo solucione agregando el modificador Cdbl o Cint segun el caso

o sea & Cdbl(request.queryString("actividad")
  #8 (permalink)  
Antiguo 15/02/2007, 16:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: Problema con un SELECT con un WHERE basado en un querystring...

Cita:
Iniciado por eltano Ver Mensaje
A mi me paso lo mismo con un campo numerico y no siempre.
El tema es que cuando le pasaba el querystring me lo tomaba como str y no como numeroci

lo solucione agregando el modificador Cdbl o Cint segun el caso

o sea & Cdbl(request.queryString("actividad")
Que raro, realmente al final lo único que haces es formar un string que le pasarás a tu conexión para que ejecute esa consulta, así que realmente la conversión está de más.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 16/02/2007, 05:21
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Problema con un SELECT con un WHERE basado en un querystring...

¡Conseguido!

Muchas gracias por vuestra ayuda.

Lo he solucionado con la siguiente fórmula que me habéis dado (ponlo en negrita lo que me faltaba):

ssql = "Select * FROM comerciantes_fichas WHERE actividad = '" & Request.QueryString("actividad") & "'"

Yo es que me sigo haciendo mucho lío con el tema de las comillas, no sé por qué a veces se ponen, a veces no, a veces son dobles, y a veces sencillas.

Pero bueno, ya iré pillándole sobre la marcha. El caso es que aquí ya me funciona... ¡una nueva batalla ganada! A por la siguiente...

Por cierto, el campo era de tipo texto, efectivamente.

Muchas gracias y un saludo.

Moleman.
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 23:42.