Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Erro de paginação !!!

Recommended Posts

Peguei um código de exemplo do site da IMasters de paginação Veja o código aqui, só que ao implementa-lo ao meu código o mesmo retorna o seguinte erro:

 

Tipo de erro:

ADODB.Recordset (0x800A0CB3)

O conjunto de registros atual não oferece suporte para indicadores. Isso pode ser uma limitação do provedor ou do tipo de cursor selecionado.

/categorias/ver.asp, line 39

 

Ex. do erro 1 quando se clica em uma categoria que tem registro:clique aqui

 

Ex do erro 2 quando se clica em uma categoria que não tem registros:Clique aqui

 

Abaixo o código completo na qual a pagina foi implementada.

 

ASP [/tr][tr]<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="../Connections/conBairro.asp" -->

 

<%

Dim RsBairro__MMColParam

RsBairro__MMColParam = "1"

If (Request.QueryString("categoria") <> "") Then

RsBairro__MMColParam = Request.QueryString("categoria")

End If

%>

 

<%

Dim RsBairro

Dim RsBairro_numRows

 

Set RsBairro = Server.CreateObject("ADODB.Recordset")

RsBairro.ActiveConnection = MM_conBairro_STRING

RsBairro.Source = "SELECT * FROM CadastroServBairro WHERE categoria_rec = '" + Replace(RsBairro__MMColParam, "'", "''") + "' ORDER BY categoria_rec ASC"

 

RsBairro.CursorType = 0

RsBairro.CursorLocation = 2

RsBairro.LockType = 3

RsBairro.Open()

 

RsBairro_numRows = 0

%>

<%

pagina = Request.QueryString("p")

if pagina = "" then

pagina = 1

end if

'Seta a variavel pagina como a página em questão na paginação

 

registros = 10

'Seta o número de registros por pagina

if RsBairro.EOF then

%><font face="Arial" size="2">Sua pesquisa não retornou nenhum resultado</font><%

else

RsBairro.absolutepage = pagina

if RsBairro.EOF then

%><font face="Arial" size="2">Sua pesquisa não retornou nenhum resultado</font><%

fim = 1

end if

xx = 0

While NOT RsBairro.EOF AND xx < RsBairro.pagesize

 

%>

<%'função que abre a janela em tamanho peRsBairroonalizado nos links%>

<script language="JavaScript">

<!--

function abre_foto(width, height, nome) {

var top; var left;

top = ( (screen.height/2) - (height/2) )

left = ( (screen.width/2) - (width/2) )

window.open('',nome,'width='+width+',height='+height+',scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,left='+left+',top='+top);

}

function confirm_delete(form) {

if (confirm("Tem certeza que deseja excluir o registro?")) {

document[form].action = '<%=Request.ServerVariables("SCRIPT_NAME")%>';

document[form].submit();

}

}

//-->

</SCRIPT>

<link href="stylo.css" rel="stylesheet" type="text/css">

 

<body leftmargin="0" topmargin="0">

<table width="100%" border="0">

 

<tr bgcolor="#FF9900" class="MenuEsq">

<td colspan="3"> </td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Empresa:</font></strong><font size="2">

<%=(RsBairro.Fields.Item("cliente").Value)%></font></font></td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Categoria:</font></strong></font>

<font color="#FFFFFF" size="2"><%=(RsBairro.Fields.Item("categoria_rec").Value)%></font></td>

</tr>

<tr class="MenuEsq">

<td width="18%" rowspan="9" class="tabela"> <div align="center">

<table width="100%" border="0">

<tr>

<td class="tituloMenu"> <p align="center"><a href="<%=(RSBairro.Fields.Item("foto").Value)%>" onClick="abre_foto(350, 350, 'janela_foto')" target="janela_foto"><img src="<%=(RsBairro.Fields.Item("foto").Value)%>" width="150" height="100" border="0"></a></td>

</tr>

<tr>

<td class="tituloMenu" bgcolor="#009900"><font color="#FFFFFF">Informações:</font></td>

</tr>

<tr>

<td><%=(RsBairro.Fields.Item("dados").Value)%></td>

</tr>

</table>

<p> </p>

</div></td>

<td width="45" class="tituloMenu">Bairro:</td>

<td width="73%" class="tabela"><%=(RsBairro.Fields.Item("bairro_rec").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Endereço:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("end").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Telefone</td>

<td class="MenuEsq"><%=(RsBairro.Fields.Item("tel_1").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Fax:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("teL2").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Celular:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("tel_3").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">E-mail</td>

<td class="tabela"><a href="mailto:<%=(RsBairro.Fields.Item("email").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("email").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Site</td>

<td class="tabela"><a href="http://<%=(RsBairro.Fields.Item("site").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("site").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Contato:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("contato").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Mapa:</td>

<td class="tabela"><a href="<%=(RSBairro.Fields.Item("mapa").Value)%>" onClick="abre_foto(570, 340, 'janela_foto')" target="janela_foto">Clique

para ver o mapa da localização</a> </td>

</tr>

 

<tr bgcolor="#CCCCCC">

<td height="21" colspan="3"> <div align="center"></div></td>

</tr>

</table>

 

 

<div align="center">

<%

RsBairro.MoveNext

Wend

end if

 

if fim = "" then

 

anterior = pagina - 1

proxima = pagina + 1

 

if anterior <> 0 then

%>

<a href="<%=request.servervariables("script_name")%>?p=<%=anterior%>">Página

Anterior</a> -

<%

end if

 

%>

<a href="<%=request.servervariables("script_name")%>?p=<%=proxima%>">Próxima

Página</a>

<%

end if

%>

<%

RsBairro.Close()

Set RsBairro = Nothing

%>

</div>

[/tr]

 

segundo o erro do servidor o problema esta na linha 39 (RsBairro.absolutepage = pagina ), ja joguei o código no meu servidor web e o erro continua, só que retorna como erro 500. Tentei isolar a linha para ver se solucionava o erro mas não deu certo ele até roda a pagina porem nõa faz a contagem da maneira correta, ele exibe os 10 primeiros registros e dai quando clica-se em próximo ele diz que não existe nenhum registro, sem contar que os links de proximo e anterior continuam a aprecer.

 

OBS.: TESTEI VARIOS TIPOS DE SCRIPTS PARA PAGINAÇÃO, TODOS DERAM ERROS NA MESMA REQUIZIÇÃO ](RsBairro.absolutepage = pagina )

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenat mudar RsBairro.CursorType = 0praRsBairro.CursorType = 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera mudei a variavel RsBairro.CursorType = 3 com informou, relamente o erro parou de acontecer, porem o script não funciona como deveria, veja oque acontece Clique aqui. Independente do link que seja clicado no menu de paginação no final da pagina, ele sempre retorna que não ha registros, mas existem inclusive porque o póprio menu de paginação detecta, mas nõa leva para a próxima pagina ou pagina anterior como deveria.

 

Abaixo o código, sera que tem algum erro / Mas porque que não hora que u compilo o script ele não da nehum erro ?

 

ASP [/tr][tr]<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="../Connections/conBairro.asp" -->

<%

Dim RsBairro__MMColParam

RsBairro__MMColParam = "1"

If (Request.QueryString("categoria") <> "") Then

RsBairro__MMColParam = Request.QueryString("categoria")

End If

%>

<%

Dim RsBairro

Dim RsBairro_numRows

'Inicio da função de paginção

registros = 5

pagina = Request.QueryString("pagina")

If pagina = "" Then

pagina = 1

End If

 

'Conexão com Banco de dados

Set RsBairro = Server.CreateObject("ADODB.Recordset")

RsBairro.ActiveConnection = MM_conBairro_STRING

RsBairro.PageSize = registros

RsBairro.Source = "SELECT * FROM CadastroServBairro WHERE categoria_rec = '" + Replace(RsBairro__MMColParam, "'", "''") + "' ORDER BY categoria_rec ASC"

RsBairro.CursorType = 3

RsBairro.CursorLocation = 2

RsBairro.LockType = 3

RsBairro.Open()

RsBairro_numRows = 0

'Se não temos nada no banco de dados

If RsBairro.EOF Then

Response.Write "<center><font face=""arial"" color=""red"" size=""3""><b>[ Nenhum registro encontrado ]</font></center>"

'Se temos registro então

Else

RsBairro.AbsolutePage = pagina

While Not RsBairro.EOF AND x < RsBairro.PageSize

x = x + 1

%>

<%

'Iniciamos a impressão dos dados que tem no Banco de Dados

%>

<%'função que abre a janela em tamanho peRsBairroonalizado nos links%>

<script language="JavaScript">

<!--

function abre_foto(width, height, nome) {

var top; var left;

top = ( (screen.height/2) - (height/2) )

left = ( (screen.width/2) - (width/2) )

window.open('',nome,'width='+width+',height='+height+',scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,left='+left+',top='+top);

}

function confirm_delete(form) {

if (confirm("Tem certeza que deseja excluir o registro?")) {

document[form].action = '<%=Request.ServerVariables("SCRIPT_NAME")%>';

document[form].submit();

}

}

//-->

</SCRIPT>

<link href="stylo.css" rel="stylesheet" type="text/css">

 

<body leftmargin="0" topmargin="0">

<table width="100%" border="0">

 

<tr bgcolor="#FF9900" class="MenuEsq">

 

<td colspan="3"> </td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Empresa:</font></strong><font size="2">

<%=(RsBairro.Fields.Item("cliente").Value)%></font></font></td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Categoria:</font></strong></font>

<font color="#FFFFFF" size="2"><%=(RsBairro.Fields.Item("categoria_rec").Value)%></font></td>

</tr>

<tr class="MenuEsq">

<td width="18%" rowspan="9" class="tabela"> <div align="center">

<table width="100%" border="0">

<tr>

<td class="tituloMenu"> <p align="center"><a href="<%=(RSBairro.Fields.Item("foto").Value)%>" onClick="abre_foto(350, 350, 'janela_foto')" target="janela_foto"><img src="<%=(RsBairro.Fields.Item("foto").Value)%>" width="150" height="100" border="0"></a></td>

</tr>

<tr>

<td class="tituloMenu" bgcolor="#009900"><font color="#FFFFFF">Informações:</font></td>

</tr>

<tr>

<td><%=(RsBairro.Fields.Item("dados").Value)%></td>

</tr>

</table>

<p> </p>

</div></td>

<td width="45" class="tituloMenu">Bairro:</td>

<td width="73%" class="tabela"><%=(RsBairro.Fields.Item("bairro_rec").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Endereço:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("end").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Telefone</td>

<td class="MenuEsq"><%=(RsBairro.Fields.Item("tel").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Fax:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("fax").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Celular:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("cel").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">E-mail</td>

<td class="tabela"><a href="mailto:<%=(RsBairro.Fields.Item("email").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("email").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Site</td>

<td class="tabela"><a href="http://<%=(RsBairro.Fields.Item("site").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("site").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Contato:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("contato").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Mapa:</td>

<td class="tabela"><a href="<%=(RSBairro.Fields.Item("mapa").Value)%>" onClick="abre_foto(570, 340, 'janela_foto')" target="janela_foto">Clique

para ver o mapa da localização</a> </td>

</tr>

 

<tr bgcolor="#CCCCCC">

<td height="21" colspan="3"> <div align="center"></div></td>

</tr>

</table>

<center><font face="Arial, Helvetica, sans-serif" size="2">

<%

'Inicio do loop e criação da impreção da paginação

RsBairro.MoveNext

Wend

 

anterior = pagina - 1

proxima = pagina + 1

ultima = RsBairro.PageCount

primeira = 1

ultm2 = FormatNumber(RsBairro.PageCount - 1,0)

If pagina <> 1 Then

Response.Write "<b>« <a href=ver.asp?pagina="&primeira&">Primeira Página</a></b> "

End If

If pagina > 1 AND pagina <> 2 Then

Response.Write "<b>[ <a href=ver.asp?pagina="&anterior - 1&">"&anterior - 1&"</a> ]</b> "

End If

If pagina > 1 Then

Response.Write "<b>[ <a href=ver.asp?pagina="&anterior&">"&anterior&"</a> ]</b> "

End If

Response.Write "<b>[ "&pagina&" ]</b> "

If Not RsBairro.EOF Then

Response.Write "<b>[ <a href=ver.asp?pagina="&proxima&">"&proxima&"</a> ]</b> "

End If

If Not RsBairro.EOF AND pagina <> ultima AND pagina <> ultm2 Then

Response.Write "<b>[ <a href=ver.asp?pagina="&proxima + 1&">"&proxima + 1&"</a> ]</b> "

End If

If Not RsBairro.EOF Then

Response.Write "<b><a href=ver.asp?pagina="&ultima&">Última Página</a> »</b> "

End If

End If

%></font></center>

<%

RsBairro.Close()

Set RsBairro = Nothing

%>

[/tr]

 

Obs.: Tentei auterar o nome da pagian ver.asp para request.servervariables("query_string") ou request.ServerVariables("SCRIPT_NAME"), mas também não deu resultados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifiquei também algumas variaveis diretamente dos links que fazem referencia a paginação, não consegui achar erros, talvez porque não entendi bem a lógica que ele quiz usar... :blink:

Oque me deixa intrigado é que testei varios códigos exemplos. bem como alguns que eu mesmo tentei criar, todos dam o erro da mesma forma, oque me deixa a acreditar que seja um erro dentro de alguma variavel no código, porem qual variavel ? Ja revi o código todo e não consegui achar erros.

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

tb procurei procurei e procurei e não achei ....eheeheha unica coisa que pude ver de diferente a olho nu é que você não igualou x a zero fora do laço, mas não sei se é isso, e como você mesmo disse deve ser uma besteirinha então testa ai, apesar de achar que não é isso, quem sabe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera não entendi !

Pq eu fiz referencia a X como x = x + 1, porque a necessidade de referencia-lo como x = 0 ? Não vai dar conflito no código se eu atribuir 2 variaveis para o mesmo objeto (x) ? ou simplesmente ele não vai pegar somente a primeira variavel definida ?

estou falando porque fis o teste de 2 formas

 

ASP [/tr][tr]Else

RsBairro.AbsolutePage = pagina

While Not RsBairro.EOF AND x < RsBairro.PageSize

x = x + 1

x = 0

[/tr]

 

e

 

ASP [/tr][tr]Else

RsBairro.AbsolutePage = pagina

While Not RsBairro.EOF AND x < RsBairro.PageSize

x = 0

x = x + 1

[/tr]

 

Em ambas ele retornou como se não hovesse outros registro para a pagina, apresentando apenas [1] sem a pção de próxima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tava falando em colocar fora do while, mas como disse acho que não é esse o problemaera algo tipo assimElsex = 0RsBairro.AbsolutePage = paginaWhile Not RsBairro.EOF AND x < RsBairro.PageSizex = x + 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

è realmente não é este o problema, vou tentar refazer o código de paginação para ver se da certo.

pode ser...o problema pra eu te ajudar, é que não tou nem com muita cabeça(tou fazendo um trabalho da faculdade), nem com muitos recursos pois não tou com nenhum servidor no micro pra testar o codigo, mas se seu problema persistir até terça te ajudo cara...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É fera ja não sei mais oque pode ser, refiz todo o código, debugando o código parte por parte, sem erros em nenhum momento, como falei anteriormente ja tentei usar outros códigos da própria IMasters, oque me deixa mais pe da vida é que os códigos não dão erros, somente não execultam a operção como foi designado no script, sei que estou iniciando em asp, mas como vou achar um erro que não aparece ? É fogo http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :wacko: :blink: :angry:

Compartilhar este post


Link para o post
Compartilhar em outros sites

É fera ja não sei mais oque pode ser, refiz todo o código, debugando o código parte por parte, sem erros em nenhum momento, como falei anteriormente ja tentei usar outros códigos da própria IMasters, oque me deixa mais pe da vida é que os códigos não dão erros, somente não execultam a operção como foi designado no script, sei que estou iniciando em asp, mas como vou achar um erro que não aparece ? É fogo http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :wacko: :blink: :angry:

deve ser besteirinha cara, mas pelo menos ele ta retornando o numero correto de paginas???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim ele retorna o nº correto das paginas, (aparece da seguinte forma: [1] [2] [3] Ultmima pagina>>) só que da quando se clica no nº da pagina ou em ultima pagina ele simplesmente retorna a string de NEHUM REGISTRO ENCONTRADO, ou seja retorna ao inicio do loop e não consegue mais trazer os dados seguintes como deveria, e como falei anteriormente, isto ocorre em todos os códigos que tentei implementar no no sistema. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho se te ajuda, estes dias fiz praticamente um tutorial de paginação, explicando passo a passo aqui neste forum ou no scriptbrasil.com.br/forumDa uma olhada nas minhas ultimas mensagens, é bem facul a paginação ;) vo ver se acho o tutorial e te passo =)Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera encontri o tutorial ao qual você estava mecionando (deve ser este), apesar dele utilizar a mesma lógica do que oque eu estou utilizando, eu troquei o código para o que você esta utilizando no tutorial, porem mesmo assim ele não deu certo, ele conta as paginas, aparece os links, mas não segue, ou seja quando clico em próximo ou no nº da pagina ele smplesmente me retorna que não existem registros, oque vai contra a pr´pria lógica do script porque se ele esta contando o nº de paginas e colocando os links próximos, isto significa que tem registro no BD, ai eu pegunto, então porque ele não mostra os outros registros ? Porque ele diz que não existem registros ?

Muito estranho. Apesar de estar mexendo a pouco tempo com asp, não acredito que eu não esteja etendo a lógica da coisa. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :wacko: :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera encontri o tutorial ao qual você estava mecionando (deve ser este), apesar dele utilizar a mesma lógica do que oque eu estou utilizando, eu troquei o código para o que você esta utilizando no tutorial, porem mesmo assim ele não deu certo, ele conta as paginas, aparece os links, mas não segue, ou seja quando clico em próximo ou no nº da pagina ele smplesmente me retorna que não existem registros, oque vai contra a pr´pria lógica do script porque se ele esta contando o nº de paginas e colocando os links próximos, isto significa que tem registro no BD, ai eu pegunto, então porque ele não mostra os outros registros ? Porque ele diz que não existem registros ?Muito estranho. Apesar de estar mexendo a pouco tempo com asp, não acredito que eu não esteja etendo a lógica da coisa. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :wacko: :blink:

Desculpa a demora...rsspode me mandar os arquivos ? posso tentar rodar aqui e ver se acho o erro, acho bem melhor =)dackale2001@ig.com.brAbraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tive um problema com paginação, nao sei porque so funcionou quando coloquei o cInt() na variavel de pagina da querystringele mostrava a primeira pagina, mostrava as paginas mas dava problema nas outras paginas...Espero que te ajude...

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tive um problema com paginação, nao sei porque so funcionou quando coloquei o cInt() na variavel de pagina da querystringele mostrava a primeira pagina, mostrava as paginas mas dava problema nas outras paginas...Espero que te ajude...

hmmm verdade, da uma olhadinha nisso na hora de fazer os links da paginação utiliza o cint aonde é gerado os links da url, que deve funcionar, ja ocorreu isso comigo, mas só lembrei pq o amigo postou acima =)Espero que de certoAbraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, desculpem, mas sou novamente, é realmente a minha cabeça ja não tem sabe mais aonde pode ser erro, todas as dicas que foram dadas eu utilizei, mas não consegui resolver.

Caso alguem queira dar uma olhada no problema rodando diretamente no servidor ai vai o endereço aqui, é calro que os links de paginação estão no final da pagina, e que são meros testes, peço por favor desconciderarem o site em si, estou desenvolvendo somente para questões de estudos então o mesmo deve estar uma porcaria, até que eu aprenda tudo que preciso para desenvolver um site realmente a altura de um bom desenvolvedor em ASP. Se alguem conseguir imaginar onde esta o erro agradeço. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif :wacko: http://forum.imasters.com.br/public/style_emoticons/default/blush.gif :blink:

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.