Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigofaria

Porque o RS está fechando?

Recommended Posts

O submit no FORM abaixo abre a pesquisa na mesma página. Faço um "request.form" para atribuir o valor à uma variável e um "select case" para abrir o RecordSet, de acordo com o valor dessa variável. Simples.

 

Só que tá dando o seguinte erro (na linha do IF RecordSet.EOF THEN):

 

ADODB.Recordset error '800a0e78'

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

 

Código:

 

<form name="compras" method="post" action="adlezesportes.asp">

<select name="Categoria" class="formulario">

<option value="0" selected>Categoria</option>

<option value="1">Beleza e Saúde</option>

<option value="2">Brinquedos</option>

<option value="3">CD</option>

<option value="4">Cine e Foto</option>

<option value="5">DVD</option>

<option value="6">Eletrônicos</option>

<option value="7">Esportes</option>

<option value="8">Games</option>

<option value="9">Hobby e Lazer</option>

<option value="10">Informática</option>

<option value="11">Livros</option>

<option value="12">Produtos Finos</option>

<option value="13">Telefonia</option>

<option value="14">UD</option>

<option value="15">VHS</option>

</select>

<input name="shop" type="submit" class="formulario" value="busca">

 

</form>

 

'Consulta com o Banco de Dados para oCanal de Indicação de Compras

 

 

Categoria = REQUEST.FORM ("Categoria")

 

 

IF REQUEST.FORM ("Categoria") = "" THEN

Categoria = 0

END IF

 

SET RSConsultar3 = server.CreateObject("ADODB.RecordSet")

 

SELECT CASE "Categoria"

 

CASE "0"

 

SQL4 = " SELECT Produto , LinkProd , Categoria FROM TblEsportes ES , TblCategoria CT WHERE ES.IDCategoria = CT.IDCategoria ORDER BY HP DESC "

 

RSConsultar3.Open SQL4,ConBanco,3,3

 

CASE "1"

 

SQL4 = " SELECT Produto , LinkProd , Categoria FROM TblEsportes ES , TblCategoria CT WHERE ES.IDCategoria = CT.IDCategoria ORDER BY HP DESC "

 

RSConsultar3.Open SQL4,ConBanco,3,3

 

END SELECT

 

 

 

IF RSConsultar3.eof THEN

 

response.write "Não há registros"

 

ELSE

 

while NOT RSConsultar3.eof

 

FOR i=1 TO RSConsultar3.RecordCount

 

' Aqui vem o conteúdo

 

RSConsultar3.movenext

 

next

wend

 

SET RSConsultar3=NOTHING

 

 

Conseguiu ver algumna coisa errada? Existe alguma outra maneira de fazer isso (rodar na mesma página)?Alguma soloução? POR FAVOR!!!!

 

valeu..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz, cara. Tô trabalhando completamente errado com o CASE. Tô tratando a variável "categoria" como se fosse uma string...MUITO OBRIGADO GASTÃO. Abriu meus olhos para outros erros que estava cometendo! Valeu!

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.