Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MaCeRo

Problemas com página de erro

Recommended Posts

Fala pessoal estou com o seguinte problema, fiz uma área restrita na qual é listado as informações atráves de data digitada.

 

Só que assim quando digita uma data que não existe no sistema apresenta o seguinte erro.

 

ADODB.Field erro '800a0bcd' 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual. 

/resultado.asp, linha 43 

 

O código da página é o seguinte:

 

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td>Movimentações do dia: <%=(busca.Fields.Item("U01_DATA").Value)%></td>
 </tr>
</table>
<br />
<% 
While ((Repeat1__numRows <> 0) AND (NOT busca.EOF)) 
%>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td width="30"><%=(busca.Fields.Item("U01_LINHA").Value)%></td>
     <td><%=(busca.Fields.Item("U01_CONTEU").Value)%></td>
   </tr>
 </table>
 <% 
 Repeat1__index=Repeat1__index+1
 Repeat1__numRows=Repeat1__numRows-1
 busca.MoveNext()
Wend
%>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td class="logout"><a href="busca.asp" class="logout"><br />
     Voltar a página anterior</a></td>
   </tr>
 </table>
 <p> </p>
</body>
</html>
<%
busca.Close()
Set busca = Nothing
%>

 

Alguém pode me ajudar a colocar uma linha que vá para uma página de erro caso não encontre um dado no mysql.

 

Fico no aguardo de uma resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo não...continua dando erro

 

 

Tenta assim:

 


<body>

<%
if NOT busca.EOF then
%>

   <table width="100%" border="0" cellspacing="0" cellpadding="0">
     <tr>
       <td>Movimentações do dia: <%=(busca.Fields.Item("U01_DATA").Value)%></td>
     </tr>
   </table>

   <br />

<% 
while Repeat1__numRows <> 0 AND NOT busca.EOF
%>
       <table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
               <td width="30"><%=(busca.Fields.Item("U01_LINHA").Value)%></td>
               <td><%=(busca.Fields.Item("U01_CONTEU").Value)%></td>
           </tr>
       </table>
<% 
Repeat1__index 		= Repeat1__index + 1
Repeat1__numRows 	= Repeat1__numRows - 1

busca.MoveNext()
wend

else
Response.Write("AVISO: Nenhum registro encontrado")
end if

busca.Close()
Set busca = Nothing
%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr><td class="logout"><a href="busca.asp" class="logout"><br />Voltar a página anterior</a></td></tr>
</table>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ele dá este erro abaixo:

 

Erro de compilação do Microsoft VBScript erro '800a03ea' 

Erro de sintaxe 

/resultado.asp, linha 59 

else
^

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se realmente não há nenhum registro.Se você estiver certo de que há resultados, intsale a versão mais recente do MDAC

Outra possível razão é que você está usando uma stored procedure que opera em uma tabela temporária, ou não afetar outros antes de sua instrução select. Para contornar esse problema, coloque no início do seu stored procedure:

 

SET NOCOUNT ON

 

Isto irá prevenir "(n) linha (s) afetada" mensagens sejam interpretadas pelo provedor como um conjunto de resultados.

 

Se você não pode alterar o processo, você pode usar tentativa e erro para adicionar a seguinte declaração:

 

<% 
   set conn = CreateObject("ADODB.Connection") 
   conn.open <connection string> 
   set rs = conn.execute(<sql>) 
   set rs = rs.nextRecordSet() 
   ' ... 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="Connections/conexao.asp" -->
<%
Dim busca__MMColParam
busca__MMColParam = "1"
If (Request.QueryString("data") <> "") Then 
 busca__MMColParam = Request.QueryString("data")
End If
%>
<%
Dim busca
Dim busca_cmd
Dim busca_numRows

Set busca_cmd = Server.CreateObject ("ADODB.Command")
busca_cmd.ActiveConnection = MM_conexao_STRING
busca_cmd.CommandText = "SELECT * FROM db_backupoperator.U010001 WHERE U01_DATA = ?" 
busca_cmd.Prepared = true
busca_cmd.Parameters.Append busca_cmd.CreateParameter("param1", 135, 1, -1, busca__MMColParam)  ' adDBTimeStamp

Set busca = busca_cmd.Execute
busca_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
busca_numRows = busca_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>:: Portal de Acesso ::</title>
<link href="css/acesso.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%if NOT busca.EOF then
end if%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td>Movimentações do dia: <%=(busca.Fields.Item("U01_DATA").Value)%></td>
 </tr>
</table>
<br />
<%         while Repeat1__numRows <> 0 AND NOT busca.EOF%>       
<table width="100%" border="0" cellspacing="0" cellpadding="0">           
<tr>
<td><%=(busca.Fields.Item("U01_CONTEU").Value)%></td>           
</tr>       
</table>
<% 
Repeat1__index = Repeat1__index + 1        
Repeat1__numRows  = Repeat1__numRows - 1               
busca.MoveNext()        
wend
else 
Response.Write("AVISO: Nenhum registro encontrado")
end if
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">   
<tr><td class="logout"><a href="busca.asp" class="logout"><br />Voltar a página anterior</a></td></tr></table>
</body>
</html>
<%
busca.Close()
Set busca = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

a string SQL é essa mesmo

 

"SELECT * FROM db_backupoperator.U010001 WHERE U01_DATA = ?"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.