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

problema al validar un querystring

Estas en el tema de problema al validar un querystring en el foro de ASP Clásico en Foros del Web. tengo una pagina para consultar pedidos en la cual pongo un formulario con textbox y radiobuttons etc.. para poder filtrar luego la tabla haciendo click ...
  #1 (permalink)  
Antiguo 27/04/2010, 10:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
problema al validar un querystring

tengo una pagina para consultar pedidos en la cual pongo un formulario con textbox y radiobuttons etc.. para poder filtrar luego la tabla haciendo click al boton filtrar, el cual llama a una funcion de javascript y hay me construlle un string con los parametros. estos parametros son los valores que yo quiero filtrar. y hago una llamada a la misma pagina con esos parametros.

para construir la sentencia sql miro si recivo parametros o no y los valores etc... pero me da un error al mirar si existe parametro llamado dni o nombre... el estado me lo hace bien

tengo este codigo:

Código:
sqltxt = "SELECT idpedido, dni, fecha, observaciones, realizado FROM tbPedido "


if request.querystring("estado") then	 
	if request.querystring("estado") = 1  then
		sqltxt = sqltxt & "WHERE realizado = true " 
	else if request.querystring("estado") = 2  then
		sqltxt = sqltxt & "WHERE realizado = false "
	end if
	end if
end if

if  request.querystring("dni") then
	sqltxt = sqltxt & "AND dni='" & request.querystring("dni") & "' "
else if request.querystring("nombre") then
	sqltxt = sqltxt & "AND nombre='" & request.querystring("nombre") & "' "
end if
end if	


sqltxt = sqltxt & "ORDER BY idpedido desc"

porque el estado me lo hace bien y en el dni me da este error?

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "23456789u"]'

/CIPedidos.asp, line 69


de todas maneras hay alguna manera para mirar si existe un parametro o no?
porque al entrar en la consulta entra sin parametros y saca todos los datos.. y luego ya puede filtrar...
  #2 (permalink)  
Antiguo 27/04/2010, 10:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema al validar un querystring

donde da el error es en el if del dni
  #3 (permalink)  
Antiguo 27/04/2010, 15:19
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Respuesta: problema al validar un querystring

Un IF requiere una condición booleana, el tener if request.querystring("estado") then sería válido si preguntaras si el parámetro "estado" es igual a algo.

Para ver si existe un parámetro debes ver si existe en la colección Request, aquí un ejemplo que la recorre toda:

Código ASP:
Ver original
  1. for each control in request.QueryString
  2.   for indice=1 to request.QueryString(control).count
  3.      response.write control & " = " & request.QueryString(control)(indice)&"<br>"
  4.   next
  5. next
  #4 (permalink)  
Antiguo 28/04/2010, 04:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema al validar un querystring

muchas gracias ya lo solucione, de todas maneras te sobra el segundo for... no hace falta. lo solucione asi

Código:
sqltxt = "SELECT idpedido, dni, fecha, observaciones, realizado FROM tbPedido "

if request.QueryString.count > 0 then
	sqltxt = sqltxt + "WHERE "


	for each control in request.QueryString 


	if control = "estado" then	 
		if request.querystring("estado") = 1  then
			sqltxt = sqltxt & "realizado = true AND " 
		else if request.querystring("estado") = 2  then
			sqltxt = sqltxt & "realizado = false AND "
		end if
		end if
	end if

	if  control = "dni" then
		sqltxt = sqltxt & "dni='" & request.querystring("dni") & "' AND "
	else if control = "nombre" then
		sqltxt = sqltxt & "nombre='" & request.querystring("nombre") & "' AND "
	end if
	end if	

	next


	sqltxt = MID(sqltxt,0,sqltxt.length - 4)
end if

sqltxt = sqltxt & "ORDER BY idpedido desc"

de todas maneras... esto me da error. sabeis porque?
sqltxt = MID(sqltxt,0,sqltxt.length - 4)
  #5 (permalink)  
Antiguo 28/04/2010, 07:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Respuesta: problema al validar un querystring

Si, es así:


sqltxt = MID(sqltxt,1,LEN(sqltxt) - 4)

Saludos
  #6 (permalink)  
Antiguo 28/04/2010, 10:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema al validar un querystring

si ya me di cuenta despues jejej
axias

Etiquetas: querystring
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 07:10.