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

Error de BOF / EOF

Estas en el tema de Error de BOF / EOF en el foro de ASP Clásico en Foros del Web. Hola amig@s, Mi servidor escupe el siguiente error: Cita: El valor de BOF o EOF es True, o el actual registro se eliminó; la operación ...
  #1 (permalink)  
Antiguo 19/01/2006, 13:48
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 5 meses
Puntos: 6
Mensaje Error de BOF / EOF

Hola amig@s,

Mi servidor escupe el siguiente error:

Cita:
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
Pero lo curioso es que sí que controlo si el recordset devuelve registros, es muy extraño pero aun controlándolo me sigue escupiendo el error.

Les pongo el código y la consulta para que puedan judgar:

Cita:
SQL="Select Descripcion, Adicional, Comentarios From Descripciones Where IdArticulo='" & Rs("IdArticulo") & "' And " _
& "IdIdioma = " & Idioma
RsExtra.Open Sql,DB
If RsExtra.Eof = False Then
"Código ASP"
End If
RsExtra.Close
¿Es extraño verdad?, pues aún así me entra y me escupe el error.

Y eso que os puedo asegurar que no hay ningún valor en la tabla "Descripciones" que tenga el IdIdioma = 1, aunque si que hay un IdArticulo que le solicito.

Pero eso no debería ser un problema puesto que lo concateno con la cláusula AND, ¿no?

Muchas gracias!

P.D: La BD es Access
  #2 (permalink)  
Antiguo 19/01/2006, 14:02
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 5 meses
Puntos: 6
Miren que curioso, esto si que es la monda.

Si pongo el RsExtra.Eof = True me dice:

Cita:
(0x80020009)
Ocurrió una excepción.
Lo he probado ya en 3 servidores y en todos me dice lo mismo...

Estoy desesperado, no sé que hacer, me tiene loco durante dos días ya...
  #3 (permalink)  
Antiguo 19/01/2006, 14:06
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 4 meses
Puntos: 2
If RsExtra.Eof Then
__________________
Manual de ASP Avanzado ;-)
  #4 (permalink)  
Antiguo 19/01/2006, 14:20
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 5 meses
Puntos: 6
Ya lo había probado, tampoco funciona, ¿es raro verdad?
  #5 (permalink)  
Antiguo 21/01/2006, 03:42
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
Este error es sumamente comun. BOF y EOF quieren decir Beginning Of File (Principio de archivo) y End Of File (Fin de archivo), los cuales estan relacionados a una tabla de tu base de datos. Lo que esta pasando es que una pagina ASP esta haciendo una peticion SQL a la base de datos (Que nos regresara una serie de registros) y cuando la pagina los quiere desplegar no hay ningun registro en la tabla.

En resumen, verifica que tengas algún registro con la condición que indicas, para verificarlo, si no lo tienes lo generas tu en la Bd y pruebas.

Ya me diras compi!!!!!!
  #6 (permalink)  
Antiguo 21/01/2006, 03:51
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
Por cierto Pempas, me he olvidado de otra cosa.

Verifica tambien , mediante siguimiento del flujo de tu programa, que no te quedes sin datos en alguna variable, ya que esto a mi también me reportaba el error que indicas.

A veces nos "pillamos" y nos volvemos locos con algunos errores que pensamos q estan producidos por las sentencias SQL y el error se produce en otro punto.

Verifica el valor de las variables que comparas, ya que si no tienen valor alguno te "escupe" al excepción.


ADEU!!!!!
  #7 (permalink)  
Antiguo 21/01/2006, 09:49
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 5 meses
Puntos: 6
Hola Sej!!

Ya resolví el problema, lo que me pasaba era que si que revisaba si el Recorsert me devolvia registros, pero aún así no funcionaba...

Pero como el error que me devolvía no me daba en que linea era, pensaba que era en una instrucción SQL y luego resulta que era en una más abajo... jejeje, en fin, error tonto, pero está resuelto.

Por cierto, muy buena tu explicación!!

Salu2!
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 01:46.