Ir para conteúdo

POWERED BY:

Arquivado

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

Chakan

Deu pau nesse While com MoveNext

Recommended Posts

Oi pessoal.

 

Então..abaixo segue um codigo que pegue valores de imagem do banco de dados e os coloca numa lista por ordem de registro:

 

<% While ((Repeat1__numRows <> 0) AND (NOT rsAgencia.EOF)) %>						  <tr>							<td width="142" align="default"><div align="center"><a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 130, 83)%> /></a></div></td>													  </tr>						  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rsAgencia.MoveNext()Wend%>

beleza..se feito assim ele mostra direitinho 1 coluna com as imagens. No entanto, eu queria que aparecessem 3 colunas pra aproveitar melhor o espaço na tela.

 

Dae fiz assim e deu erro:

 

<% While ((Repeat1__numRows <> 0) AND (NOT rsAgencia.EOF)) %>						  <tr>							<td width="142" align="default"><div align="center"><a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 130, 83)%> /></a></div></td>							<%rsAgencia.MoveNext()%>							<td width="142" align="default"><div align="center"><a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 130, 83)%> /></a></div></td>							<%rsAgencia.MoveNext()%>							<td width="142" align="default"><div align="center"><a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 130, 83)%> /></a></div></td>						  </tr>						  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  rsAgencia.MoveNext()Wend%>

Eu simplesmente peguei e repeti a codigo que gera a coluna da tabela e meti antes dele um MoveNext() pra que ele pulasse pro registro seguinte para que nao aparecessem imagens repetidas.

 

Contudo, ao chegar na ultima imagem, a pagina abre beleza mas na parte aonde devia aparecer um espaço em branco (pois depois da última imagem não tem nada), aparece isso:

 

ADODB.Field error '800a0bcd'

 

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

 

/fotos.asp, line 723

 

Linha 723 - Inicio do codigo da 3ª coluna..abaixo do 2º <%rsAgencia.MoveNext()%>

 

O que fazer para resolver esse problema? Tentei um monte de coisas já e nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

que é isso tiozinho?o erro acontece porque voce tentar escreve algo depois que acabaram os registrosporque precisa de todos estes movenexts no seu laço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os 2 1ºs movenext fazem com que sejam criadas + 2 colunas dentro da tabela com as imagens seguintes.

 

Problema é justamente esse. Chegando no final, da o erro que eu falei. Queria saber se tem um jeito de consertar isso ou se tem de mudar o modo como to fazendo isso.

 

Se eu faço:

 

<%While ((Repeat1__numRows <> 0) AND (NOT rsAgencia.EOF))%><tr><td width="142" align="default"><div align="center"><a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 130, 83)%> /></a></div></td></tr><%Repeat1__index=Repeat1__index+1Repeat1__numRows=Repeat1__numRows-1rsAgencia.MoveNext()Wend%>

Não da problema algum. Só que aí soh aparece uma coluna..queria que aparecessem 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o certo é voce montar estas colunas dentro do laço mas com apenas um movenext, assim nao terá este erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeee consegui!

 

Valeu a todos que leram o topico e em especial ao mario que deu o conselho ^^

 

O que eu fiz foi simplesmente isso..coloquei uns IF e ae funcionou normal:

 

<% While ((Repeat1__numRows <> 0) AND (NOT rsAgencia.EOF)) %>						  <tr>							<td width="147" align="default"><div align="center"><% if Not rsAgencia.EOF then%> <a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 200, 133)%> /></a></div>							<% rsAgencia.Movenext()							end if%></td>							<td width="147" align="default"><div align="center"><% if Not rsAgencia.EOF then%> <a href="view_imagem.asp?<%= "Registro=" & rsAgencia.Fields.Item("Registro").Value %>" target="_blank"><img src="<%=rsAgencia.Fields.Item("Imagem").Value%>" border="0" <%=ImageResize(Server.MapPath(rsAgencia.Fields.Item("Imagem").Value), 200, 133)%> /></a></div><%end if%></td>						  </tr>						  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  if not rsAgencia.EOF then  rsAgencia.MoveNext()  end ifWend%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que funcionou tiozinhoparabens

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.