none
Paginação dar sempre erro RRS feed

  • Pergunta

  • 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.uol...._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. Seria uma paginação simples mesmo, mas não resolvo.

    Obs: A programação é ASP, só.

    Grato.

    Marcelo Vinicius
    quarta-feira, 16 de dezembro de 2009 16:03

Todas as Respostas

  • Achei um ASP ( http://www.bufaloinfo.com.br/artigos/artigo1404.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
         %>

    quarta-feira, 16 de dezembro de 2009 17:27
  • Um exemplo:

    set objConteudoBasico = Server.CreateObject("Adodb.Recordset")
      objConteudoBasico.CursorLocation = 3
      objConteudoBasico.cursorTYpe = 0
      objConteudoBasico.LockType = 1
      objConteudoBasico.open strSqlAn,conn
      objConteudoBasico.PageSize = 3

    Da uma olhada nesse artigo:

    http://blogasp.wordpress.com/2006/08/02/metodos-de-um-recordset-cursorlocation-cursortype-locktype/



    sábado, 19 de dezembro de 2009 22:55