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

Problema con if then

Estas en el tema de Problema con if then en el foro de ASP Clásico en Foros del Web. Hola. Estoy halando los paths para una fotos de una base de datos, pero si hay foto quiero que la presente, si no hay foto ...
  #1 (permalink)  
Antiguo 21/04/2002, 16:30
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 4 meses
Puntos: 11
Problema con if then

Hola.
Estoy halando los paths para una fotos de una base de datos, pero si hay foto quiero que la presente, si no hay foto quiero que diga que no hay, lo hago asi:
<%
If LEN(TRIM(Frs.Fields("PathI1"))) <> 0 Then
Response.Write("<IMG BORDER=0 SRC=" & chr(34) & Frs.Fields("PathI1") & chr(34) & ">")
Else
Response.Write "No pictures availables."
End If

Pero me da este error cuando no hay foto:
ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.

?

Que pasa?
  #2 (permalink)  
Antiguo 21/04/2002, 20:03
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Re: Problema con if then

Simplemente no estas posicionado en ningun registro, o sea estas en BOF, EOF o el recordset esta vacio, quizas una consulta que no entrego ningun registro.
Puedes verificar previamente con
IF Not Frs.EOF And Not Frs.BOF then
..

Tip: Frs.Fields("PathI1") = Frs("PathI1")

Bye !
  #3 (permalink)  
Antiguo 21/04/2002, 21:01
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 4 meses
Puntos: 11
Re: Problema con if then

es logico que este vacio, pues lo que pasa es que no hay nigun path, de modo que la celda en la base de datos esta vacia.
En pocas palabras quiero que cuando la celda este vacia, diga, no hay imagen diosponible, y cuando la celda esta llena exprese la imagen.
Ayudaaa.
  #4 (permalink)  
Antiguo 21/04/2002, 21:50
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
Re: Problema con if then

etonces has lo que él hizo
if frs.Bof = false and frs.eof = false then
Response.Write("<IMG BORDER=0 SRC=" & chr(34) & Frs.Fields("PathI1") & chr(34) & ">")
else
response.write "No hay imagen"

Giancarlo Loret de Mola (Mamon)
  #5 (permalink)  
Antiguo 21/04/2002, 22:28
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 if then

No, son dos IF!

el primer IF debería comprobar que exista el registro...

Cita:
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record
En resumen, no existe el registro solicitado.

Ahora, si existe el registro pero este no contiene el path a la imagen, hay otra comprobacion mediante un segundo IF.

Quedaría algo como esto:

Código:
If Frs.EOF AND Frs.EOF then
Response.Write "El registro solicitado no existe"

Else

If LEN(TRIM(Frs.Fields("PathI1"))) <> 0 Then
Response.Write("<IMG BORDER=0 SRC=" & chr(34) & Frs.Fields("PathI1") & chr(34) & ">")
Else
Response.Write "No hay imagen disponible para este registro."
End If 

End if
saludos
  #6 (permalink)  
Antiguo 22/04/2002, 18:38
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 4 meses
Puntos: 11
Re: Problema con if then

Amigos, deve ser muy facil, pero ambas soluciones me dan error.
No funciona ninguna!
Qué hago?
  #7 (permalink)  
Antiguo 23/04/2002, 00:19
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Re: Problema con if then

A ver Rashid, intenta abrir el recordset con este codigo :

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Session("Conexion")
Set RS = Server.CreateObject("ADODB.Recordset")
RS.CursorType = 3
RS.CursorLocation = 3
sql = "SELECT * FROM MiArchivo"
RS.Open sql, conn

RESPONSE.WRITE( RS.RecordCount & " registros.") ' Aca tiene que tirar > 0 , sino no hay registros y menos aun paths ni imagenes.

If RS.RecordCount=0 then
Response.Write("No hay registros !")
else
If Trim( RS("PathI1") ) = "" Then
Response.Write "No hay fotos disponibles !"
Else
Response.Write("Puede que exista la foto.")
End If
End if

A tener en cuenta :
Retorna registros ?
Es ese el nombre del campo ? PathI1 ?
No estara con valor Null ? ( que da bastantes problemas )
Es tipo Text ?
El archivo esta vacio ?
Probaste con algun registro con path e imagen que realmente existan ?
eh ?

noseque+, Saludos
  #8 (permalink)  
Antiguo 23/04/2002, 01:30
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 24 años
Puntos: 0
Re: Problema con if then

Bueno, no lei todo, pero yo usaba algo asi... Donde tenia una imagen que indicaba que no habia imagen disponible,pero igual se puede sustituir...

<%
iF IsNull(rS("foto")) then
%>
<tr>
<td width="322"><div align="center"><Img src="no_picture.jpg"></div></td>
</tr>
<%
Else
%>
<tr>
<td width="322">
<div align="center"><Img src="<%=rs("Foto") %>"></div>
</td>
<%End if%>


Aki el campo era foto y no_picture.jpg la imagen que se mostraba de estar el campo vacio...

Espero te sirva...

<div align=right><embed src="http://www.jesusdaniel.venezuela.com/jd.swf" height=25 width=200 wmode="transparent"></embed><br>Usuario # 3359 en los foros</div>
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 11:24.