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

No funciona

Estas en el tema de No funciona en el foro de ASP Clásico en Foros del Web. Buenas El siguiente código no funciona, no genera ningún error , pero no muestra nada en la pantalla , por lo menos sé que se ...
  #1 (permalink)  
Antiguo 11/11/2004, 15:19
 
Fecha de Ingreso: octubre-2004
Ubicación: Venezuela
Mensajes: 111
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta No funciona

Buenas

El siguiente código no funciona, no genera ningún error , pero no muestra nada en la pantalla , por lo menos sé que se agarran las variables correctamente, pero no imprime la tabla, si alguien puede ver lo que pasa se lo agradezco.

<%
fecha=Request.querystring("variable1")
usuario=Request.querystring("variable2")
hora=Request.querystring("variable3")


dim conexion, sql, RS
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base_datos.mdb"))
Set RS = Server.CreateObject("ADODB.Recordset")
RS.open "foro",conexion,1

do while not RS.eof
if RS("fecha")= fecha and RS("usuario")= usuario and RS("hora")= hora then %>

<TABLE align=center border=1>
<TBODY>
<TR>
<TD></TD>
<TD align=right><A
href="http://127.0.0.1/Responderforo.htm">Responder</A> <A
href="http://127.0.0.1/Listaforos.asp">Lista de Foros</A></TD>
<TR bgColor=#b5b5ff>
<TD align=left width=170><B><% =RS("asunto") %></B> <BR>
<P>Autor: <% =RS("usuario") %>
<P>Día: <% =RS("fecha") %> </P></TD>
<TD vAlign=top width=500><% =RS("mensaje") %></TD></FONT></TR></TBODY></TABLE>

<% exit do
else
rs.movenext
end if
loop %>

Saludos
  #2 (permalink)  
Antiguo 11/11/2004, 15:25
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años, 6 meses
Puntos: 0
Cierra el primer <TR>
  #3 (permalink)  
Antiguo 11/11/2004, 15:26
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
RS.open "foro",conexion,1

Qué es "foro"? ahí, es donde debes pasar la sentencia SQL no?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 11/11/2004, 16:11
 
Fecha de Ingreso: octubre-2004
Ubicación: Venezuela
Mensajes: 111
Antigüedad: 20 años, 6 meses
Puntos: 0
Ahora lo hice con la instrucción sql, pero me genera el error
ADODB.Field (0x80020s009)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.


<%
fecha=Request.querystring("variable1")
usuario=Request.querystring("variable2")
hora=Request.querystring("variable3")


dim conexion, sql, RS
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base_datos.mdb"))
sql ="SELECT * FROM foro where fecha = '"&fecha&"' and usuario ='"&usuario&"' and hora = '"&hora&"'"
set RS= conexion.execute(sql) %>

<TABLE align=center border=1>
<TBODY>
<TR>
<TD></TD>
<TD align=right><A href="http://127.0.0.1/Responderforo.htm">Responder</A>
<A href="http://127.0.0.1/Listaforos.asp">Lista de Foros</A></TD></tr>

<TR bgColor=#b5b5ff>
<TD align=left width=170><B><% =RS("asunto") %></B>
<P>Autor: <% =RS("usuario") %>
<P>Día: <% =RS("fecha") %> </P></TD>
<TD vAlign=top width=500><% =RS("mensaje") %></TD></FONT></TR></TBODY></TABLE>
</body>
</html>
  #5 (permalink)  
Antiguo 11/11/2004, 16:17
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años, 6 meses
Puntos: 0
Será porque la consulta no devuelve ningún registro. Comprueba antes de imprimir la tabla, si se ha llegado al final o no del Recordset.

If RS.EOF then
'No se han devuelto registros
'Bloque de secuencias
Else
'Hay registros
'Bloque de secuencias
End if
  #6 (permalink)  
Antiguo 11/11/2004, 16:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Bueno, pues llega vacio el recordset...
tienes que condicionarlo como lo hacías

Do while not rs.eof
.
.
.
.
Loop
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 11/11/2004, 16:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 21 años, 6 meses
Puntos: 0
Mira despues de esta linea

set RS= conexion.execute(sql) %>

agrega

IF NOT RS.EOF THEN
''CUANDO ENCUENTRA REGISTROS SE VA A ESTA LINE
ELSE
'CUANDO NO ENCUENTRA REGISTROS SE VA A ESTA LINE
END IF

RS.CLOSE
  #8 (permalink)  
Antiguo 11/11/2004, 16:39
 
Fecha de Ingreso: octubre-2004
Ubicación: Venezuela
Mensajes: 111
Antigüedad: 20 años, 6 meses
Puntos: 0
Revisé línea por línea y el error està aquí

if RS("fecha")= fecha and RS("usuario")= usuario and RS("hora")= hora then

Parece que no entra dentro del if
  #9 (permalink)  
Antiguo 11/11/2004, 16:46
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Bueno, entonces puede ser tu query primero que otra cosa, el campo fecha, que tipo de dato es?
Si es de fecha, entonces el query deberías hacerlo así:

sql ="SELECT * FROM foro where fecha = '#" & fecha& "#' and usuario ='"&usuario&"' and hora = '"&hora&"'"

ve si te arroja resultado en caso de que esto sea correcto...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 14:43.