• 0
Sign in to follow this  
Milena

Help - Urgente... :(

Question

Estou aprendendo asp agora...e estou tendo sérias dificuldades em criar uma paginação... imagino que seja bem simples.... até pelo fato de que a minha está funcionado ... até que eu estraguei... sad.gif

Está dando erro quando clico em PRÓXIMO PARA VIZUALIZAR O RESTANTE DOS REGISTROS....

Operação não permitida quando o objeto está FECHADO.

line 46

Segue abaixo o código:

____________________________________________________________________

Set RS = Server.CreateObject("adodb.recordset")
RS.PageSize = 5 
		Dim Campo, teste
		Campo=Request.Form("campo")
		teste=Request.Form("busca")
		select case teste
			case "escolha1"
			RS.Close
			response.write "entrei no case"
			SQL = "SELECT * FROM produtos WHERE CodigoProduto='"&campo&"' "
			RS.Open SQL,Conn,3,3
			case "escolha2"
			SQL= " SELECT * FROM produtos WHERE NomeProduto='"&campo&"' "
			RS.Open SQL,Conn,3,3
			case "escolha3"
    		SQL= " SELECT * FROM produtos WHERE Quantidade='"&campo&"' "
			RS.Open SQL,Conn,3,3
			case "escolha4"
			SQL= " SELECT * FROM produtos WHERE preço='"&campo&"' "
			RS.Open SQL,Conn,3,3
			end select


IF RS.EOF then -> ESSA É A LINHA QUE ESTÁ DANDO ERRO !!!!! 

	Response.Write "nenhum registro encontrado"
	Response.End 'paramos o programa
	ELSE
   'Definindo em qual pagina o visitante está
   IF Request.QueryString("pagina")="" then 
      intpagina=1 
   ELSE
      IF cint(Request.QueryString("pagina"))<1 then
         intpagina=1 
      ELSE
         IF cint(Request.QueryString("pagina"))> RS.PageCount then 
            intpagina=RS.PageCount 
         ELSE
            intpagina=Request.QueryString("pagina")
         END IF
      END IF
   END IF
END IF

RS.AbsolutePage=intpagina


intrec=0


While intrec < RS.PageSize and not RS.EOF %>

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

você tem esse close no final da página tambem?

se tiver tira!

Share this post


Link to post
Share on other sites
  • 0

VALEU !! RESOLVIDO !!! Mas agora quem não parece mais é o botão de anterior....

Set RS = Server.CreateObject("adodb.recordset")
RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.
'Vamos fazer a busca na tabela contatos
SQL ="SELECT * FROM produtos where CodigoProduto='13' "
RS.Open SQL,Conn,3,3
  Dim Campo, teste
  Campo=Request.Form("campo")
  teste=Request.Form("busca")
  select case teste
  	case "escolha1"
  	RS.Close
  	response.write "entrei no case"
  	SQL = "SELECT * FROM produtos WHERE CodigoProduto='"&campo&"' "
  	RS.Open SQL,Conn,3,3
  	case "escolha2"
  	RS.Close
  	SQL= " SELECT * FROM produtos WHERE NomeProduto='"&campo&"' "
  	RS.Open SQL,Conn,3,3
  	case "escolha3"
  	RS.Close
      SQL= " SELECT * FROM produtos WHERE Quantidade='"&campo&"' "
  	RS.Open SQL,Conn,3,3
  	case "escolha4"
  	RS.Close
  	SQL= " SELECT * FROM Produtos WHERE preço='"&campo&"' "
  	RS.Open SQL,Conn,3,3
  	end select
'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 
'que zero, se é maior que o número total de páginas, etc.
IF RS.BOF then 
	'response.write "Arquivo não encontrado"
	response.Redirect("error_buscar_produtos.asp")
	Response.End 'paramos o programa
	ELSE
   'Definindo em qual pagina o visitante está
   IF Request.QueryString("pagina")="" then 
      intpagina=1 
   ELSE
      IF cint(Request.QueryString("pagina"))<1 then
         intpagina=1 
      ELSE
         IF cint(Request.QueryString("pagina"))> RS.PageCount then 
            intpagina=RS.PageCount 
         ELSE
            intpagina=Request.QueryString("pagina")
         END IF
      END IF
   END IF
END IF
'Fim das verificações de exceções

'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta 
RS.AbsolutePage=intpagina

' Inicia o contador que vai controlar os registros mostrados
intrec=0

'Enquanto o contador for menor que a quantidade de registros mostrados ou
' não for o final do arquivo 
While intrec < RS.PageSize and not RS.EOF %>


 <%  RS.MoveNext
   ' Acrescenta +1 ao contador
   intrec=intrec+1 
   'Se for EOF (fim de arquivo), imprimir branco na tela
   IF RS.EOF then 
   response.write " " 
   END IF
Wend 'fim do loop

'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. 
IF intpagina > 1 then 
%> <!--AQUI -AQUI AQUI -AQUI AQUI -AQUI AQUI -AQUI --> :huh: 
   <a href="exe_buscar_produtos.asp?pagina=<%=intpagina-1%>">Anterior</a> 
<% 
END IF

'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página 
IF strcomp(intpagina,RS.PageCount) <> 0 then 
%> 
   <a href="exe_buscar_produtos.asp?pagina=<%=intpagina + 1%>">Próxima</a> 
<% 
END IF
%>

Muito obrigada pela atenção de vocês !

Share this post


Link to post
Share on other sites
  • 0

Acredito que o problema seja com essa variável intpagina....

IF intpagina > 1 then

<a href="exe_buscar_produtos.asp?pagina=<%=intpagina-1%>">Anterior</a>

<%

END IF

Ajudem-me ...plz.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this