Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo de Tarso F. M.

Onde está errado? (For etc...)

Recommended Posts

Galera! É o seguinte:

 

Tenho seguinte código:

Msg = ""			FOR x = 1 TO Request.Form("produtos").Count			SQL = "SELECT * FROM produtos WHERE codigo IN ("& Request.Form("produtos")(x) &")"SET RS = Conect.execute(SQL)							IF RS.RecordCount = 0 THEN	Msg = "Nenhuma opção foi escolhida"						ELSE	Response.Write	RS("nome_produto") & "<br>"END IFNEXT				Response.Write Msg
Vejam só, Primeiro, defino a variável "Msg" como vazia. Depois, faço um Select na tabela e tals. Se a quantidade de dados selecionados for igual a zero (ou seja, nenhum dado foi selecionado), ele define a variável "Msg", que estava vazia, com a frase "Nenhuma opção foi escolhida". Caso contrário, ele imprime na tela o nome do produto dos dados que foram selecionados. E por último, ele imprime o conteúdo da variável "Msg". Se o ELSE for executado, pelo menos au achava que seria assim, a variável "Msg" estaria vazia, já que a primeira condição do IF não foi verdadeira, e, conseqüentemente, naum seria impresso na tela nada...

 

Mas está dando um errinho... Indica que é na linha 65, e é justamente a linha que diz "Response.Write RS("nome_produto") & <BR>"... Olha o erro aki:

Tipo de erro:

(0x80020009)

Exceção.

(...)preview.asp, line 65

 

Será que alguém sabe me dizer pq isso? Vlw gente!

 

Paulo de Tarso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Paulo,

 

Pelo código incompleto vamos tentar acertar. Tente colocar o código assim:

Response.Write( RS("nomedoproduto") )

Ou pela "numeração" do erro, verifique se o seu LOOP está correto, se ele está percorrendo realmente as opções do FORM.

 

Até!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.

Pra começar o erro está aqui

Request.Form("produtos").Count

O ASP não receberá uma coleção do campo produtos, quando muito, caso haja mais de um campo com o mesmo nome, receberá separado por vírgulas. Então deverá usar o método split para criar um array e aí fazer o "for..next"

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.