Ultradev y Asp

Hola, trabajo en SQL, Dreamweaver UD y ASP, todo ello en un servidor IIS 4. Estoy armando un sitio con consultas a la base de datos en SQL, utilizo procedimientos almacenados, para ello cuando un usuario se conecta envía al servidor web los parámetros y este al servidor SQL, el problema radica cuando el set de resultado del servidor SQL viene sin registros la página de respuesta me sale sin nada, a ecepcion de los nombres de los campos.
La idea es poder redireccionar a una página más elaborada y con una respuesta acorde al set de resultado solicitado, en vez que me aparezva sin nado o con algún mensaje en ingles de los que te manda el servidor cuando esta configurado de esa forma.
Espero haber sido claro, gracias de ante mano por tu cooperación.

4 Respuestas

Respuesta
1
Seguramente estás asignando el resultado del procedimiento almacenado a un objeto recordset. Pues bien, si la propiedad EOF de ese objeto es True tras ejecutar el procedimiento almacenado, querrá decir que no ha habido resultados.
Respuesta
1
Cuando el resultado de una consulta es inesperado, en blanco o tiene información NULL, es conviene prevenirlos.
Una técnica es contar el numero de resultados obtenidos en la consulta... Si usas ASP utilizando el Recordset (ADO)lo puedes resolver así:
Digamos que tienes una Conexión a la base de datos que se llama Cnn, y un Recorset que se llame RS
Después de abrir la conexión y ejecutar la consulta SQL, puedes indagar cuantos registros se obtuvieron con
RS. RecordCount
Antes de escribir tu Tabla, puedes hacer una estructura IF ELSE, así
<%
If RS.RecordCount == 0 Then
ResponseWrite("Lo Siento, No hay Registros")
Else
ResponseWrite("Escribo mi Tabla")
Endif
%>
Gracias por tu ayuda, ayudaasp... por tu solución considero que tu nick esta super bien, otros expertos me dieron soluciones, la tuya es nueva y se entiende muy bien... gracias por tu tiempo y gentileza.
Respuesta
1
Pues usa el mismo sistema que usarías para una página restringida.
Es decir si existe el usuario le deja pasar a otra página.
Si no existe la manda para otra.
<%@ Language=VBScript %>
<%Response.Buffer =true%>
<%
Dim oConn,strSQL, objRS
set oConn = server.createobject("adodb.connection")
oConn.open "imperio"
strSQL ="Select * from tabla "
Set objRS = oConn.Execute(strSQL)
'Si devuelve algun registro pues escribes el codigo o le mandas para otra pagina.
if not objRS.eof then
'variable que recoge la pagina a donde la quieres mandar.
pagina="hayregistros.asp"
oConn.Close
set oConn=nothing
else
' Si no devuelve ningun valor
pagina="nohayregistros.asp"
oConn.Close
set oConn=nothing
end if
Response.clear
Response.Redirect pagina
Response.End
%>
Lo que puedes hacer
Es hacer un end if en la página entera y se devuelve un registro pues la página actúa normal
y si no sale un mensaje como que no hay registros. Y listo
Supongo que con esto lo entenderás.
Bueno ya me dirás
Gracias por tu cooperación... es bastante clara y probare como me va, cualquier cosa me comunico de nuevo, felicitaciones por tu capacidad de entregar sin esperar recibir.
Respuesta
1
¿Y cuál es la pregunta?
La pregunta esta en la parte que dice... "La idea es...", pero ya tengo la respuesta de alguien que entendió, gracias por tu preocupación y tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas