Página Resultados si no encuentra parámetro

En el manual de Ultradev que tengo no te muestra como redireccionar al usuario a una página de resultados cuando realiza una búsqueda, y no hay ningún resultado que coincide con los parámetros de búsqueda que utilizó. Es decir redireccionarle a una página que le diga que "no hay resultados que coincidan con su búsqueda".

1 Respuesta

Respuesta
1
Supongo que al usar Ultradev, estas utilizando ASP, porque si no es así deberías indicarlo pues para cada lenguaje es diferente.
En Asp la forma de redireccionar a una página es con response. Redirect(url_error) cuando detectes que se produce el error.
En la url tambien puedes pasar parametros por ejemplo response.redirect("error.asp?id=3") y asi podrias filtrar los errores en una sola pagina.
Siento haber tardado tanto en volver a responder pero es que no tenia el ultradev y he tenido que buscarlo.
Si el lenguaje que utilizas es ASP junto con VBScript y utilizas un vinculo de datos dinámico coo juego de registros, esto te genera un código en el que según he visto crea 2 variables una con el recordset y otra con el numerode resultados, lo que tienes que hacer es comprobar el numero de resultados y si es 0 entonces escribir response. Redirect("página de error")
Quedaría más o menos
if Recordset1_numRows= 0 then
response.redirect("pagina_error")
end if
Si no es este lenguaje que es otro creo que seria mas o menos igual. En php seria header("Location : pagina_error");
Antes de cualquier carácter impreso en pantalla puse daría un error de cabeceras
Gracias por la información. El lenguaje que utilizo es ASP con VBScript. ¿Cómo redireccionarias la página en el caso de que sea una página de actualización de registros de bases de datos?
En primer lugar creo que utilizas Dreamweaver para generar el código ASP de lo cual no soy muy partidario. Aunque el código que genera esta bastante bien no los modulariza teniendo código redundante para cada página.
Pero bueno en respuesta a tu pregunta, no estoy muy seguro si lo que quieres es que se rediriga a una página de error cuando no se ha podido actualizar por error en el sql o si la sql esta bien pero la actualización no se ha realizado por otro motivo.
Bueno en el caso de que haya un error, localiza la siguiente linea en el página de actualización
If (Not MM_abortEdit) Then
veras unas cuantas lineas mas abajo (unas 4 ) otra linea que reza
MM_editCmd.Execute
Esta es la que ejectua la sql, pues bien bajo de esta deberías añadir una este código que después te explico lo que hace ya que es general para todo procedimiento
if Err.Description<>"" then
response.redirect("pagina_error")
end if
Esta objeto 'Err' es global para asp y en el se van recogiendo todos los errores que se produzcan en la ejecución del script, concretamente en su propiedad Description. De todas maneras este código no te serviría para el caso de la primera pregunta ya que una consulta que no retorne resultados no genera ningún error.
Personalmente yo me he creado una función que ejectua las consultas sql, así que todas las consultas inserción, búsqueda, update pasan por ella. En esat mismas función tengo las redirecciones para cada caso y así no tengo que reescribir código.
Gracias por la información para cuando hay problemas con la sql.
Podrías aclararme como hacerlo cuando el error es producido cuando no existe la variable con la que se intenta acceder a los datos que se desean modificar. Actualmente el error que me da en este caso es:
"ADODB.Field error '800a0bcd'
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual"
¿Cómo puedo redireccionarle a otro página para que no aparezca esto?
Es cierto, utilizo Ultradev para la programación.
Gracias.
Para filtrar todos los errores en ASP se utiliza una delcaracion que impide que la página deje de ejecutarse cuando hay un error grave.
On Error Resume Next
Lo pones cuando creas que ese puede utilizar en error grave y lo capturas con Err. Description, si Err. Description esta vacío no hay error y esta lleno (mal rollo) así que rediriges a la página conel método que te he dado.
Espero que esto rte resuelva las dudas de las reidrecciones, de todas maneras te agradecería que cerraras esta pregunta y si quieres hacermas más no hay ningún problema, lo digo porque hasat que no se cierre no me puntúa y yo pro mi parte no tengo inconveniente en responderte lo que este en mi mano

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas