Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Na Paginação


baladaclick

Pergunta

Galera seguinte, tenho a paginação funcionando 99%. tem um probleminha, ele não dá mensagem de "nenhum registro encontrado", invés dessa msg ele aparece uma pagina de erro.

Tipo de erro: ADODB.Recordset (0x800A0BCD)

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

/analise/pesquisa.asp, line 66

como que eu faço p ele retornar que nenhum registro foi encontrado?

o script está grande mas não sabia qual parte colocar aqui. desculpem

valewww

<%

PagAtual = Request.QueryString("PagAtual") 'página atual

Set db = server.createobject("adodb.connection")
db_conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")
db.CursorLocation = 3
db.Open db_conn

campo_busca = request("campo_busca")
opcao = Request("opcao")

sql = "select * from clientes where "& opcao &" like '%"& campo_busca &"%'"
set RS = db.execute(sql)

%>

<!--#include file="topo.asp"-->
<table width="100%" height="123" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="100%" height="85" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">

      <tr bgcolor="#003366">
        <td width="13%" height="32" bordercolor="#003366" bgcolor="#72778D"><div align="center"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF"><span style="font-family: Verdana, Arial, Helvetica, sans-serif">
          <%session("regional")%>
          Pedido</span></span></div></td>
        <td width="13%" bordercolor="#003366" bgcolor="#72778D"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF">Data</span></div></td>
        <td width="15%" bordercolor="#003366" bgcolor="#72778D"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF">Modalidade</span></div></td>
        <td width="25%" bordercolor="#003366" bgcolor="#72778D"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF">Cliente</span></div></td>
        <td width="34%" bordercolor="#003366" bgcolor="#72778D"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF">Regional</span></div></td>
      </tr>
    </table>
      <span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif">
      <%
'############## paginacao Introdu&ccedil;&atilde;o #################

'------- Coloque aqui a quantidade de registros que voc&ecirc; deseja por p&aacute;gina --------
SELECT CASE np
CASE "1" NumPorPage = "1"
CASE "15" NumPorPage = "15"
CASE ELSE NumPorPage = "25"
END SELECT
'Const NumPorPage = 20

'Verifica qual a p&aacute;gina solicitada
Dim PagAtual

IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 'Primeira p&aacute;gina
Else
PagAtual = Request.QueryString("PagAtual")
End If

'Cria conex&atilde;o com o Banco de Dados, j&aacute; abrir anteriormente
'Criado anteriormente Set RS = Server.CreateObject("ADODB.Recordset")
'>>> FIZ EM CIMA RS.CursorLocation = 3 Acerta a posi&ccedil;&atilde;o do cursor . 3 ou adUseClient

RS.CacheSize = NumPorPage 'Define o tamanho do Cache = para o n&uacute;mero de registros

'Cria a String SQL
'>>> FIZ EM CIMA Dim SQLpag
'>>> FIZ EM CIMA SQLpag = "SELECT * FROM jogos"
'>>> FIZ EM CIMA RS.Open SQLpag, Conn Abre o RecordSet


RS.MoveFirst 'Move o RecorSet para o in&iacute;cio
RS.PageSize = NumPorPage 'Coloca a quantidade de p&aacute;ginas

Dim TotalPages 'Pega o n&uacute;mero total de p&aacute;ginas
TotalPages = RS.PageCount

RS.AbsolutePage = PagAtual 'Configura a p&aacute;gina atual

'############## paginacao Introdu&ccedil;&atilde;o - FIM #################

Count = 0 'Zera o contador

'Inicia a Fun&ccedil;&atilde;o DO, utilizando a quantidade de p&aacute;ginas especificadas
'Ou seja ele ir&aacute; executar a a&ccedil;&atilde;o at&eacute; que o valor Count seja menor que "20" como est&aacute; no nosso exemplo

i = 0

DO WHILE NOT RS.EOF And Count < RS.PageSize 'paginacao And Count < RS.PageSize

' ----- linhas coloridas -------
if i mod 2<>0 then
cor = "#000000"
else
cor = "#000000"
end if
'-------------------------------

%>
      </span>
      <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#64687B">

      <tr>
        <td width="13%" height="28" bordercolor="#D0D1D9" bgcolor="#D0D1D9"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><%=RS("pedido")%></span></span></div></td>
        <td width="13%" bordercolor="#D0D1D9" bgcolor="#D0D1D9"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><%=RS("venda")%></span></span></div></td>
        <td width="15%" bordercolor="#D0D1D9" bgcolor="#D0D1D9"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><%=RS("modalidade")%></span></span></div></td>
        <td width="25%" bordercolor="#D0D1D9" bgcolor="#D0D1D9"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><%=RS("nome_cliente")%></span></span></div></td>
        <td width="34%" bordercolor="#D0D1D9" bgcolor="#D0D1D9"><div align="center"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><span class="style7" style="font-family: Verdana, Arial, Helvetica, sans-serif"><%=RS("vendedor")%></span></span></div></td>
      </tr>
    </table>
      <%
    i = i+1
 Count = Count + 1   'paginacao
    RS.MoveNext
    LOOP                'também paginacao
%></td>
  </tr>
  <tr>
    <td height="19" valign="bottom">&nbsp;</td>
  </tr>
  <tr>
    <td height="19" valign="bottom"><div align="center" class="style21">
      <%
'#####################inicio da paginação####################

 Response.Write("<B><font color=""#006600"" size=""1"" face=""arial""><strong> P&aacute;gina " & PagAtual & " de " & TotalPages & " </strong></font></B> <br> ")   

'Mostra os bot&otilde;es: Anterior e Pr&oacute;xima, utilizando da op&ccedil;&atilde;o de IF 

IF PagAtual > 1 THEN 

'Se for a primeira p&aacute;gina, Mostra apenas o bot&atilde;o Pr&oacute;ximo e Ultima
      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">") 
      Response.Write("<a href='adm.asp?PagAtual=" &  1 & "'>")
      Response.Write("Primeira") 
      Response.Write("</a></font></B>&nbsp;&nbsp;")
      
      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">") 
      Response.Write("<a href='adm.asp?PagAtual=" & PagAtual - 1 & "'>")
      Response.Write("Anterior") 
      Response.Write("</a></font></B>&nbsp;&nbsp;")

     Else

      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">") 
      Response.Write("Primeira") 
      Response.Write("</font></B>&nbsp;&nbsp;")

      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">") 
      Response.Write("Anterior") 
      Response.Write("</font></B>&nbsp;&nbsp;")


End If

'------------------- numero -------------------------
'---------- Numero de numeros para ser mostrados ----
   max_n_mostrados = 10

intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo

If CInt(inicio) <1 Then 
 inicio = 1
 final = 10
END IF
If CInt(final) > CInt(TotalPages) Then final = TotalPages

For i = inicio To final
     If CInt(i)=CInt(PagAtual) Then
         Response.Write "<font color=""#000000"" size=""1"" face=""arial"">[ <B>" & i & "</B> <font color=""#000000"" size=""1"" face=""arial"">]</font>&nbsp;&nbsp;"
     END IF
     If CInt(i) < CInt(PagAtual) Then
      Response.Write "<a href='adm.asp?PagAtual=" & i & "'>" & i & "</a>&nbsp;&nbsp;"
     END IF
     If CInt(i) > CInt(PagAtual) Then
         Response.Write "<a href='adm.asp?PagAtual=" & i & "'>" & i & "</a>&nbsp;&nbsp;"
  END IF
Next

'------------------------------------------------------

IF CInt(PagAtual) <> CInt(TotalPages) THEN

'Se estiver na &uacute;ltima p&aacute;gina, mostra apenas o bot&atilde;o Anterior e Primeira

      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">")
      Response.Write("<a href='adm.asp?PagAtual=" & PagAtual + 1 & "'>")
      Response.Write("Pr&oacute;xima")
      Response.Write("</a></font></B>&nbsp;&nbsp;")

      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">")
      Response.Write("<a href='adm.asp?PagAtual=" & TotalPages & "'>")
      Response.Write("Ultima")
      Response.Write("</a></font></B>&nbsp;&nbsp;")

Else
      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">")
      Response.Write("Pr&oacute;xima")
      Response.Write("</font></B>&nbsp;&nbsp;")

      Response.Write("<B><font color=""#000000"" size=""1"" face=""arial"">")
      Response.Write("Ultima") 
      Response.Write("</font></B>&nbsp;&nbsp;")
End If
'################## fim paginação ########################
%>

Link para o comentário
Compartilhar em outros sites

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

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...