Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

Paginação com SQL server funciona?

Recommended Posts

Olá pessoal,

 

Já fucei na internet essa semana passada, mas não tem jeito, acho... Estou com problema de paginação, usei esse exemplo: http://imasters.com.br/artigo/1287/asp/paginacao_sem_misterios/

 

Ele funciona em sites com banco de dados Access e até MySQL, mas estou fazendo um site com banco de dados SQL Server e dar esse 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.

/jaime/entrevistas.asp, line 177

 

E a linha 177 é: rsbusca.AbsolutePage=intpagina

 

Alguém já passou por isso ou alguém conhece uma paginação que rode bem com o SQL Server? Pois, não acho uma solução.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso já faria paginação só no SQL? Teria próxima e voltar na página? Acho que não é bem isso que queria ou não entendi como funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

marvi, asp ou asp.net????

 

esta duvida eh mais para asp do que para SQL, mas vamos lah....

em asp.net tem um exemplo bacana aki:

http://imasters.com.br/artigo/4178/aspnet/paginando_dados_com_sqlserver_20002005/

 

em asp, tem este link aki:

http://www.bufaloinfo.com.br/artigos/artigo1404.asp

 

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

É ASP e fiz assim:

 

Obs: No caso dele havia um form antes para selecionar e mandar para essa listagem, fiz o teste, tirei o form e mandei imprimir direto essa paginação, mas quando clico em "próxima" ele chama a pagina paginacao.asp, mas não exibe o próximo conteúdo, não está paginando, por que?

 

O botão "proxima" está "morto" só chama a mesma página sem mostrar o proximo conteudo, onde errei? O código que montei é esse:

 

<%
     dim cn,rs,tp,a,codprev,codnext
     tp=""
     set cn=createobjecT("adodb.connection")
     set rs=createobject("adodb.recordset")
     cn.open "DRIVER={SQL Server};SERVER=MARCELO-SOUMLJR;DATABASE=metalvox2010;Uid=sa;PWD=marcelo4000"
     rs.cursorlocation=2
     rs.cursortype=3
     rs.open "SELECT * FROM entrevistas INNER JOIN entrevistasfotos ON entrevistas.codigo = entrevistasfotos.id order by entrevistas.codigo desc",cn
     response.write("<table border=1><tr><td>Produto</td><td>Preço</td></tr>")
     if tp="prev" then
     rs.movelast
     if rs.recordcount=6 then
     rs.moveprevious
     end if
     end if
     codprev=rs.fields("codigo")
     for a=1 to 1
     if rs.eof or rs.bof then
     exit for
     end if
     response.write("<tr><td>")
     response.write(rs.fields("titulo"))
     response.write("</td><td>")
     response.write(rs.fields("titulo"))
     response.write("</td></tr>")
     if tp="prev" then
     rs.moveprevious
     else
     rs.movenext
     end if
     next
     if a > 1 then
     if tp<>"prev" then
     rs.moveprevious
     else
     rs.movenext
     end if
     codnext=rs.fields("codigo")
     if tp<>"prev" then
     rs.movenext
     else
     rs.moveprevious
     end if
     end if
 if (tp="prev"      and rs.recordcount>5) or (tp<>"prev" and request.form("cod")<>"") then
     response.write("<form method=post action='paginacao.asp'>")
     response.write("<input type=hidden name='tp' value='prev'>")
     response.write("<input type=hidden name='cod' value='" &      codprev & "'>")
     response.write("<input type=hidden name='txtcat' value='" &      request.form("txtcat") & "'>")
     response.write("<input type=submit value='<< Anterior'>")
     response.write("</form>")
     end if
     if tp="prev" or (tp<>"prev" and not rs.eof) then
     response.write("<form method=post action='paginacao.asp'>")
     response.write("<input type=hidden name='tp' value='next'>")
     response.write("<input type=hidden name='cod' value='" &      codnext & "'>")
     response.write("<input type=hidden name='txtcat' value='" &      request.form("txtcat") & "'>")
 response.write("<input      type=submit value='Proximo >>'>")
     response.write("</form>")
     end if
     rs.close
     cn.close
     set rs=nothing
     set cn=nothing
     %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ninguém sabe uma paginação simples mesmo que rode com SQL Server? Pois as programação que tenho só roda bem com banco é Access e MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

marvi, a paginacao que esta querendo esta mais para ASP do que para SQL... vou pedir para um moderador colocar o post no forum de ASP.

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

A paginação que pretende fazer é no ASP ou no Sql Server?

 

Foi feita uma proc aqui onde trabalho que é informado quantos registros se quer trazer e a partir de X quantidade. Assim conseguimos "paginar" no Sql Server também.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

A paginação que pretende fazer é no ASP ou no Sql Server?

 

Foi feita uma proc aqui onde trabalho que é informado quantos registros se quer trazer e a partir de X quantidade. Assim conseguimos "paginar" no Sql Server também.

 

Abraços...

 

Para mim tanto faz se a paginação é em ASP ou no próprio SQL Server, o que preciso é que minha página faça a paginação com as informações quem vem do banco SQL Server.

 

Se tiver algo que funcione, fico grato, pois já tentei várias vezes e vi exemplo na internet, mas fica sempre falhas com SQL Server 2000.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe alguns exemplos no lab. de script, dá uma pesquisada

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o SQLServer esta corretamente atualizado,

o code gera algum erro ?

o CursorType esta = 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o SQLServer esta corretamente atualizado,

o code gera algum erro ?

o CursorType esta = 3

 

Na verdade, na minha programação não há essa sintaxe: CursorType, é para ter? E o erro é esse que dar, inicialmente:

 

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.

/jaime/entrevistas.asp, line 177

 

A linha 177: rsbusca.AbsolutePage=intpagina

 

Vou colocar meu código abaixo:

 

dim conexao
Call abre_conexao

Set rsbusca = Server.CreateObject("adodb.recordset")


SQL = "SELECT * FROM entrevistas INNER JOIN entrevistasfotos ON entrevistas.codigo = entrevistasfotos.id order by entrevistas.codigo desc" 
set rsbusca = Conexao.execute(SQL)
rsbusca.PageSize = 50

Aqui já o loop

 


 <%           	
              IF rsbusca.EOF then

      Response.Write("<font color=""#FFFFFF"">Não há informações cadastradas.</font>")
  
  ELSE
 IF Request("pagina")="" then 
      intpagina=1 
   ELSE
      IF cint(Request("pagina"))<1 then
         intpagina=1 
      ELSE
         IF cint(Request("pagina"))> rsbusca.PageCount then 
            intpagina=rsbusca.PageCount 
         ELSE
            intpagina=Request("pagina")
         END IF
      END IF
   END IF
END IF

rsbusca.AbsolutePage=intpagina

intrec=0

	
While intrec < rsbusca.PageSize and not rsbusca.EOF   
      vid=       rsbusca("id")
                     
           
       %>
<img border="0" src="<%=rsbusca("fotos")%>" height="139" width="142">

<%
              

                 rsbusca.MoveNext
                 

   intrec=intrec+1 

   IF rsbusca.EOF then 
      response.write " " 
   END IF
Wend 

IF not rsbusca.EOF then 
       
             
%>

E aqui é a paginação, os botões: próximo e Anterior

 

<tr>
        <td width="100%" height="1">
        
        
        <p align="center"><font face="Verdana" style="font-size: 8pt">
            <font color="#444444"><%
IF intpagina > 1 then 
%> </font> 
<a href="entrevistas.asp?pagina=<%=intpagina-1%>" style="text-decoration: none">
<font color="#444444"><< Anterior</font></a><font color="#444444"> |<% 
END IF

IF strcomp(intpagina,rsbusca.PageCount) <> 0 then 
%> </font> 
<a href="entrevistas.asp?pagina=<%=intpagina + 1%>" style="text-decoration: none">
            <font color="#444444">Próxima >></font></a><u><font color="#444444"> 
        
        <% 
END IF
%>
               <%end if%>
        
        </td>
      </tr>

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.