mariofdf Postado Dezembro 14, 2003 Denunciar Share Postado Dezembro 14, 2003 Minha pagina esta com o seguinte erro...ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /Publicacoes/index.asp, line 0 não acontece sempre, mas e chato um visitante entrar numa categoria e se deparar com esta erro.já tentei alguns tratamentos e não deu certo, gostaria que se possivel alguém me ajuda-se a resolver...ai vai o codigo.<% SQLc = "SELECT * FROM TbCategoria"Set RC = Connexao.Execute(SQLc)Do While not RC.EOF SQLcc = "SELECT COUNT(*) as TotalCategorias FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &"" Set RCC = Connexao.Execute(SQLcc) If RCC("TotalCategorias") <> 0 then %> <font id="titulo-index"><b><%=RC("nomecategoria")%></b><br></font><br> <% SQLe = "SELECT * FROM TbEstado" SET RE = Connexao.Execute(SQLe) Do while not RE.EOF SQLec = "SELECT COUNT(*) as TotalEstado FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &"" Set REC = Connexao.Execute(SQLec) If REC("TotalEstado") <> 0 then %> <% SQLg = "SELECT * FROM TbGenero" SET RG = Connexao.Execute(SQLg) Do while not RG.EOF SQLgc = "SELECT COUNT(*) as TotalGenero FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &" AND CodGenero = "& RG("CodGenero") &"" Set RGC = Connexao.Execute(SQLgc) If RGC("TotalGenero") <> 0 then %> <%SQLp = "SELECT * FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &" AND CodGenero = "& RG("CodGenero") &"" SET RP = Connexao.Execute(SQLp) Do while not RP.EOF %> <% If not rs.EOF Then CodCategoria = ("TbPublicacoes") End if %> <% if session("autenticado") = true then %> <a href="pub-altera.asp?codpub=<%=RP("codpub")%>"> <%else%> <a href="pesquisa-acao.asp?codpub=<%=RP("codpub")%>"> <%end if%> <img src="imagens/<%=RP("imagem")%>" alt="<%=RG("genero")%> - <%=RP("titulo")%> - <%=RP("descricao")%>" border="0" width="150"></a> <%RP.MoveNext %> <%Loop%> <%end if%> <%RG.MoveNext %> <%Loop%> <br clear="all"><br> <%end if%> <%RE.MoveNext %> <%Loop%> <%end if%><% RC.MoveNext %> <%Loop%></td></tr></table></td><td width="424" align="center" valign="top"><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="100%"> <p align="center"><b><font face="Arial" size="4"><font color="#FFFFFF">Acesse agora a área vip do</font> <font color="#FF0000">Diitroya</font><br><font color="#FFFFFF">e ganhe essa</font> <font color="#FF0000">revista <i>Gatas & Gatas</i></font><br> <font color="#FFFFFF">Revista do mês de Dezembro</font></font></b><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2"> <tr> <td width="59%"> <p align="center"> <br> <img border="0" src="imagens/gatasgatas1.jpg" width="300" height="300"><p align="center"> <a href="http://www.diitroya.com.br/revistas"> <img border="0" src="entrar.jpg"></a></td> </tr> </table> </td> </tr> </table> </center></div></td></tr></table> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Dezembro 14, 2003 Denunciar Share Postado Dezembro 14, 2003 Acontece porque não encontrou no Banco de Dados.. é só tratar o EOF e o BOF, aparecer uma mensagem.. ou algo assim..If (RE.EOF) OR (RE.EOF) then' uma mensagem se não localizar...else' qualquer coisa se encontrar... end if Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariofdf Postado Dezembro 15, 2003 Autor Denunciar Share Postado Dezembro 15, 2003 Mas não teria como pedir para pesquisar novamente, porque quando acontece o erro e eu mando atualizar vouta ao normal, e se não tiver como aonde eu devo inserir este tratamendo que o Jissa mandou, poderia especificar melhor, estou aprendendo a programar agora .Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Dezembro 15, 2003 Denunciar Share Postado Dezembro 15, 2003 Brother!!!Tipo assim: Se sua Consulta selecionou toda a tabela e não encontrou nada (EOF - End on File ou End of File) faça algo ou escreva na tela que não encontrou nada no banco de dados.<%Parara.... parara....Parara.... parara....Parara.... parara....Parara.... parara.... If Rs.EOF Then Response.Write("Nenhum registro localizado") End IfParara.... parara....Parara.... parara....Parara.... parara....%> Caso Contrario, ou seja, achou algo no banco de dados, você pode iniciar um Looping While (porque você não sabe quantas ocorrencias [registros] foram localizados na tabela) para escrever em sua tela.<% Parara.... parara.... Parara.... parara.... Parara.... parara.... Contador = 0 While Not Rs.EOF Response.Write(Rs(0) & "<br>") Rs.MoveNext Contador = Contador + 1 Wend Response.Write("Localizado " & Contador & "Registros!!") %>Espero que lhe esclareça ou lhe ajude.Abraços!!![urso] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariofdf Postado Dezembro 15, 2003 Autor Denunciar Share Postado Dezembro 15, 2003 Mas tem que achar alguma coisa no banco, eu gostaria que se a pessoa for para essa pagina e a mesma der erro ao pesquisar, ela tente encontrar novamente.Porque só faz essa pesquisa no BD para que eu possa atualizar a pagina por um ADM... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariofdf Postado Dezembro 15, 2003 Autor Denunciar Share Postado Dezembro 15, 2003 se quiserem olhar como a pagina funciona acesse www.diitroya.com.br/publicacoes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariofdf Postado Dezembro 17, 2003 Autor Denunciar Share Postado Dezembro 17, 2003 Como eu faço para o caso de não achar nada na pesquisa mandar atualizar a pagina? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mariofdf
Minha pagina esta com o seguinte erro...
ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/Publicacoes/index.asp, line 0
não acontece sempre, mas e chato um visitante entrar numa categoria e se deparar com esta erro.
já tentei alguns tratamentos e não deu certo, gostaria que se possivel alguém me ajuda-se a resolver...
ai vai o codigo.
<%
SQLc = "SELECT * FROM TbCategoria"
Set RC = Connexao.Execute(SQLc)
Do While not RC.EOF
SQLcc = "SELECT COUNT(*) as TotalCategorias FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &""
Set RCC = Connexao.Execute(SQLcc)
If RCC("TotalCategorias") <> 0 then %>
<font id="titulo-index"><b><%=RC("nomecategoria")%></b><br></font><br>
<% SQLe = "SELECT * FROM TbEstado"
SET RE = Connexao.Execute(SQLe)
Do while not RE.EOF
SQLec = "SELECT COUNT(*) as TotalEstado FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &""
Set REC = Connexao.Execute(SQLec)
If REC("TotalEstado") <> 0 then %>
<% SQLg = "SELECT * FROM TbGenero"
SET RG = Connexao.Execute(SQLg)
Do while not RG.EOF
SQLgc = "SELECT COUNT(*) as TotalGenero FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &" AND CodGenero = "& RG("CodGenero") &""
Set RGC = Connexao.Execute(SQLgc)
If RGC("TotalGenero") <> 0 then %>
<%SQLp = "SELECT * FROM TbPublicacoes WHERE CodCategoria = "& RC("CodCategoria") &" AND CodEstado = "& RE("CodEstado") &" AND CodGenero = "& RG("CodGenero") &""
SET RP = Connexao.Execute(SQLp)
Do while not RP.EOF
%>
<%
If not rs.EOF Then
CodCategoria = ("TbPublicacoes")
End if
%>
<% if session("autenticado") = true then %>
<a href="pub-altera.asp?codpub=<%=RP("codpub")%>">
<%else%>
<a href="pesquisa-acao.asp?codpub=<%=RP("codpub")%>">
<%end if%>
<img src="imagens/<%=RP("imagem")%>" alt="<%=RG("genero")%> - <%=RP("titulo")%> - <%=RP("descricao")%>" border="0" width="150"></a>
<%RP.MoveNext %>
<%Loop%>
<%end if%>
<%RG.MoveNext %>
<%Loop%>
<br clear="all"><br>
<%end if%>
<%RE.MoveNext %>
<%Loop%>
<%end if%>
<% RC.MoveNext %>
<%Loop%>
</td></tr>
</table>
</td>
<td width="424" align="center" valign="top">
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td width="100%">
<p align="center"><b><font face="Arial" size="4"><font color="#FFFFFF">Acesse agora a área vip do</font>
<font color="#FF0000">Diitroya</font><br><font color="#FFFFFF">e ganhe essa</font>
<font color="#FF0000">revista <i>Gatas & Gatas</i></font><br>
<font color="#FFFFFF">Revista do mês de Dezembro</font></font></b><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
<tr>
<td width="59%">
<p align="center">
<br>
<img border="0" src="imagens/gatasgatas1.jpg" width="300" height="300"><p align="center">
<a href="http://www.diitroya.com.br/revistas">
<img border="0" src="entrar.jpg"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
</td>
</tr>
</table>
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.