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

El valor de BOF o EOF es True, o el actual registro se eliminó

Estas en el tema de El valor de BOF o EOF es True, o el actual registro se eliminó en el foro de ASP Clásico en Foros del Web. lo que deseo es ver una tabla la cual me haga la diferencias de las tarjetas y los totales de las que tengo Información técnica ...
  #1 (permalink)  
Antiguo 22/05/2008, 10:48
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta El valor de BOF o EOF es True, o el actual registro se eliminó

lo que deseo es ver una tabla la cual me haga la diferencias de las tarjetas y los totales de las que tengo




Información técnica (para personal de soporte técnico)

Tipo de error:
ADODB.Field (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/Tele/Admon/Invent2a.asp, línea 90


Tipo de explorador:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; SIMBAR={DE23E736-C917-4BAA-8877-6DAEF1BB0116}; InfoPath.1; .NET CLR 2.0.50727; MEGAUPLOAD 2.0; MSN Optimized;ES)

Página:
POST 25 bytes to /Tele/Admon/Invent2a.asp

Datos de POST:
FG2=ON&Boton22=%28O.K.%29

Hora:
Jueves, 22 de Mayo de 2008, 11:39:29 a.m.



este es el cod. de la pagina Invent2a.asp





<% Set DB=Server.CreateObject("ADODB.Connection")
DB.Open "TELEFON"," ","digdream"

Buscar= "SELECT * FROM InvItm ORDER BY Detalle"
Set Encont=DB.Execute(Buscar)

While not Encont.eof%>
<option selected value="<%=Encont("CodItem")%>"><% =Encont("Detalle")%></option>
<% Encont.MoveNext
Wend
DB.Close%>
</select></center></td>
<td bgcolor="#2080A0"><center><INPUT TYPE="SUBMIT" STYLE="BACKGROUND:#A0C0C0;COLOR:#2080A0" VALUE="ACEPTAR" NAME="Boton25"></center></td>
</tr>
</form>
</table>

</div>

<%Else

if F2= "ON" and not F1="ON" then

Set DB=Server.CreateObject("ADODB.Connection")
DB.Open "TELEFON"," ","digdream"
%>
<table border="0" width="80%">
<!--DWLayoutTable-->
<TR>
<td width="596" height="26" valign="top" bgcolor="#A0C0C0" ALING="CENTER"><font color="#2080A0"><font size="4.0"
face="Arial">
<center>
<B>INVENTARIO ACTUAL</B>
</center>
</font></td>
</TR>
</TABLE>
<table border="1" bordercolor="#A0C0C0" cellpadding="1" cellspacing="0" width="79%">
<tr>
<td><font size="3.0" face="Arial Black" color="#FFFFFF"><sup><big>&nbsp;ITEM</big></sup></font></td>
<td><font size="3.0" face="Arial Black" color="#FFFFFF"><sup><big>&nbsp;CANT.</big></sup></font></td>
</tr>

<% Sacar= "SELECT CodItem,Diff FROM Inventario"
Set Encont=DB.Execute(Sacar)

While not Encont.eof
Code=Encont("CodItem")
Qty=Encont("Diff")

Buscar= "SELECT Detalle FROM InvItm WHERE CodItem='" & Code & "' ORDER BY Detalle"
Set Resulta = DB.Execute(Buscar)

Info=Resulta("Detalle") %> <<<<<<<<<<<<<<<<<<<<< esta es la linea gracias por la ayuda

<tr>
<td width="80%"><font color="#202060"><font size="2" face="arial"><strong>&nbsp;<%=Info%></strong></font></td>
<td width="10%"><center><font color="#202060"><font size="2" face="arial">&nbsp;<strong><%=Qty%></strong></font></center></td>
</tr>

<% Resulta.Close
Encont.MoveNext
Wend
%>

Última edición por mrjhon; 22/05/2008 a las 11:46
  #2 (permalink)  
Antiguo 22/05/2008, 10:56
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

tu linea 90 es????
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 22/05/2008, 11:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Cita:
Buscar= "SELECT Detalle FROM InvItm WHERE CodItem='" & Code & "' ORDER BY Detalle"
Set Resulta = DB.Execute(Buscar)

Info=Resulta("Detalle") %> <<<<<<<<<<<<<<<<<<<<< esta es la linea gracias por la ayuda
aahh que Shiryu_Libra

Bueno, si revisan en las respuestas anteriores sobre tu error (hay cientos de miles de millones de post similares, solo exagero un poquito ), verás que el error es por que tu consulta no te regresó registros e igualmente estas intentando leer un campo, si ahora me dices que si te debería haber regresado registros, entonces el error lo tienes en la condición del SQL.

Saludos
  #4 (permalink)  
Antiguo 22/05/2008, 12:05
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

la verdad es que apenas empieso con esto del asp me puedes ayudar a decirme que codigo tengo que modificar y como quedaria.

lo siento por mi burrada.. soy nuevo en esto.... gracias MYAKIRE
  #5 (permalink)  
Antiguo 22/05/2008, 12:36
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Cita:
Iniciado por Myakire Ver Mensaje
aahh que Shiryu_Libra
....

disculpen mi falta de atencion, esta espuma esta espesa y se sube rapido
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 22/05/2008, 13:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Ok, te decía que el problema es que tu consulta no te regresó registros, debes de validar eso, por ejemplo:

Código:
Buscar= "SELECT Detalle FROM InvItm WHERE CodItem='" & Code & "' ORDER BY Detalle"
Set Resulta = DB.Execute(Buscar)
if Not Resulta.EOF Then 
   Info=Resulta("Detalle") 
else
   Info = "NA"
End If 
Con eso en caso de que no haya registros que cumplan la condición, aparecerá un NA ( No Aplica).

Pero si tu dices que SIEMPRE debe haber registros que cumplan la condición, entonces una de dos, o en tu BD hay un problema, o en tu consulta. Para saber qué pasa, puedes colocar algo como esto a fin de probar:

Código:
Buscar= "SELECT Detalle FROM InvItm WHERE CodItem='" & Code & "' ORDER BY Detalle"
Set Resulta = DB.Execute(Buscar)
if Not Resulta.EOF Then 
   Info=Resulta("Detalle") 
else
   Response.write Buscar
   Response.end
   Info = "NA"
End If 
Con esas dos lineas cuando no se regresen registros, se mostrará la consulta para que puedas revisarla y se detendrá el programa.

saludos
  #7 (permalink)  
Antiguo 22/05/2008, 16:47
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

si buenas

la verdad es que ya he solucionado el problema me ayudo una persona del foro por el msn y la respuesta correcta es igual a la que tu me diste Myakire.. y es la siguiente


Set Resulta = DB.Execute(Buscar)
if Resulta.bof=false and Resulta.eof=false then
Info=Resulta("Detalle")
else
Info = ""
end if

y listo solucionado ....

gracias de antemano por la colaboracion..
  #8 (permalink)  
Antiguo 22/05/2008, 16:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Ok, de nada, aunque yo siempre me he preguntado ¿por qué la gente le gusta preguntar si el apuntador esta tanto en el BOF como en el EOF?

Digo, si esta en el BOF no tienes registro que leer, de la misma forma que si estas en el EOF. A eso le doy un poco de sentido si programas en JSP, donde al abrir un recordSet te posicionas en el BOF antes del primer registro pero en ASP no hace falta.

En fin.

Suerte
  #9 (permalink)  
Antiguo 23/05/2008, 11:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Cita:
Iniciado por Myakire Ver Mensaje

Digo, si esta en el BOF no tienes registro que leer, de la misma forma que si estas en el EOF. A eso le doy un poco de sentido si programas en JSP, donde al abrir un recordSet te posicionas en el BOF antes del primer registro pero en ASP no hace falta.
refleja lo aprendido de algun maestro, no cree sensei
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #10 (permalink)  
Antiguo 23/05/2008, 11:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: El valor de BOF o EOF es True, o el actual registro se eliminó

Pues si, y también refleja que uno copia y usa el código sin analizarlo

Salud! que es viernes
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 04:16.