• 0
Sign in to follow this  
mariofdf

Me Ajudem

Question

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 &amp; 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>

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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 If

Parara.... 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]

Share this post


Link to post
Share on other sites
  • 0

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...

Share this post


Link to post
Share on other sites
  • 0

se quiserem olhar como a pagina funciona acesse www.diitroya.com.br/publicacoes

Share this post


Link to post
Share on other sites
  • 0

Como eu faço para o caso de não achar nada na pesquisa mandar atualizar a pagina?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this