Ir para conteúdo

POWERED BY:

Arquivado

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

claytonprog

Problemas com Array

Recommended Posts

Pessoal Boa Tarde!

 

Estou com um problema de array aqui neste código:

 

<HTML><HEAD>
<TITLE>Fotos ( Clientes )</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<script language=JavaScript>

<!--

codigo = request.querystring("id")

strDBPath = Server.MapPath("painel/db/desing.mdb")
Set cnnSearch = Server.CreateObject("ADODB.Connection")
cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"

strSQL = "SELECT * from tblfotos where id_evento ="&codigo

Set rs = cnnSearch.Execute(strSQL)



[color="#8B0000"]NewImg = new Array (
<%Do While Not Rs.EOF%> // o erro está nesta linha  Objeto necessário: ''/foto_ampli.asp, line 21

Response.Write """" & Rs("Foto") & ""","
<%Rs.MoveNext
Loop%>
);[/color]



var ImgNum = 0;
var ImgLength = NewImg.length - 1;
//Time delay between Slides in milliseconds
var delay = 1000;
var lock = false;
var run;
function chgImg(direction) {
if (document.images) {
ImgNum = ImgNum + direction;
if (ImgNum > ImgLength) {
ImgNum = 0;
}
if (ImgNum < 0) {
ImgNum = ImgLength;
}
document.slideshow.src = NewImg[ImgNum];
}
}
function auto() {
if (lock == true) {
lock = false;
window.clearInterval(run);
}

else if (lock == false) {
lock = true;
run = setInterval("chgImg(1)", delay);
}
}
//-->
</SCRIPT>

<STYLE type=text/css>
#divContainer {
 Z-INDEX: 0; LEFT: 0px; OVERFLOW: hidden; WIDTH: 700px; POSITION: relative; TOP: 0px; HEIGHT: 373px
}
</STYLE>

<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
<BODY bgColor=#333333 >
<TABLE borderColor=#000000 height=373 cellSpacing=0 cellPadding=0 width=700 align=center bgColor=#000000 border=0>
<TR vAlign=top align=left>
  <TD bgColor=#000000 height=373>
  <DIV id=divContainer>
   <TABLE height=373 cellSpacing=0 cellPadding=0 width=700 border=0>
  <TR>
  <TD width=700 height=373>
  <IMG src="painel/imagens/<%=rs("foto")%>" name=slideshow width="700" height="373" align="left" hspace="0">
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<br>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <TR>
  <TD vAlign=top height=23>
  <DIV align=center><A href="java script:chgImg(-1)"><IMG height=52
  src="esquerda.png" width=52 border=0></A> <A
  href="java script:auto()"><IMG height=52
  src="slide.png" width=52 border=0></A> <A
  href="java script:chgImg(1)"><IMG height=52
  src="direita.png" width=52 border=0></A> </DIV></TD>
  </TR>
</table>
</BODY></HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz im IF antes do while, assim:

 

Set rs = cnnSearch.Execute(strSQL)

if (not rs.eof) then
..... seguei o codigo....

 

não esquece de fechar o IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o que você disse TED'K

ficou assim:


codigo = request.querystring("id")

strDBPath = Server.MapPath("painel/db/desing.mdb")
Set cnnSearch = Server.CreateObject("ADODB.Connection")
cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"

strSQL = "SELECT * from tblfotos where id_evento ="&codigo

Set rs = cnnSearch.Execute(strSQL)



if RS.eof then
   response.write "nenhum registro encontrado"
   response.end 'paramos o programa
else



NewImg = new Array (
<%Do While Not Rs.EOF%>
Response.Write """" & Rs("Foto") & ""","
<%Rs.MoveNext
Loop%>
);

end if

 

continua dando o mesmo erro:

 

Objeto necessário: 'foto_ampli.asp, line 28

 

a linha 28 é essa aqui:

 

<%Do While Not Rs.EOF%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente novamente

 

<%
codigo = request.querystring("id")

strDBPath = Server.MapPath("painel/db/desing.mdb")
Set cnnSearch = Server.CreateObject("ADODB.Connection")
cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"

strSQL = "SELECT * from tblfotos where id_evento ="&codigo
Set rs = cnnSearch.Execute(strSQL)

if RS.eof then
   response.write "nenhum registro encontrado"
   response.end 'paramos o programa
else

%>

NewImg = new Array (
<%Do While Not Rs.EOF%>
Response.Write """" & Rs("Foto") & ""","
<%Rs.MoveNext
Loop%>
);
<% end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted'K refiz como você mandou deu esse erro!!

 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No form que passo a string está assim: neste form aparece o valor que no caso é 25 mais quando vai para o form 'foto_ampli.asp esse valor se perde

Response.Write "<td width='48%' ><p align=center><a href=java script:explorer('foto_ampli.asp?id=" & rstSearch("id_evento") & "')>" & "<img align=right src=""painel/imagens/"& rstSearch("foto") &""" hspace=5  width=155 height=131>" & "</a>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted'K veja uma coisa interessante! No código abaixo reformulado funciona normalmente porém só traz um registro do banco, eu tenho vários registros só preciso agora de uma ajuda para colocar o while e trazer todos os registros!!

 

<HTML><HEAD>
<TITLE>Fotos ( Clientes )</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">




<script language=JavaScript>
<!--
<%

codigo = request.querystring("id")


Set Conexao = Server.CreateObject("AdoDb.Connection")
Conexao.provider="Microsoft.Jet.OLEDB.4.0"
Conexao.connectionstring=Server.Mappath("painel/db/desing.mdb")
Conexao.open 

Set rs = Server.Createobject("ADODB.RECORDSET")
Set rs.ActiveConnection = Conexao
   

strSQL = "SELECT * from tblfotos where id_evento ="&codigo
'strSQL = "SELECT * from tblfotos"

rs.Open strSQL, Conexao


if RS.eof then
   response.write "nenhum registro encontrado"
   response.end 'paramos o programa
else



%>


var NewImg=new Array("painel/imagens/<%=RS("foto")%>");


<% end if %>

var ImgNum = 0;
var ImgLength = NewImg.length - 1;
//Time delay between Slides in milliseconds
var delay = 1000;
var lock = false;
var run;
function chgImg(direction) {
if (document.images) {
ImgNum = ImgNum + direction;
if (ImgNum > ImgLength) {
ImgNum = 0;
}
if (ImgNum < 0) {
ImgNum = ImgLength;
}
document.slideshow.src = NewImg[ImgNum];
}
}
function auto() {
if (lock == true) {
lock = false;
window.clearInterval(run);
}

else if (lock == false) {
lock = true;
run = setInterval("chgImg(1)", delay);
}
}

//-->
</SCRIPT>



<STYLE type=text/css>
#divContainer {
 Z-INDEX: 0; LEFT: 0px; OVERFLOW: hidden; WIDTH: 700px; POSITION: relative; TOP: 0px; HEIGHT: 373px
}
</STYLE>

<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
<BODY bgColor=#333333 >
<TABLE borderColor=#000000 height=373 cellSpacing=0 cellPadding=0 width=700 align=center bgColor=#000000 border=0>
<TR vAlign=top align=left>
  <TD bgColor=#000000 height=373>
  <DIV id=divContainer>
   <TABLE height=373 cellSpacing=0 cellPadding=0 width=700 border=0>
  <TR>
  <TD width=700 height=373>
  <IMG src="painel/imagens/<%=rs("foto")%>" name=slideshow width="700" height="373" align="left" hspace="0">
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<br>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <TR>
  <TD vAlign=top height=23>
  <DIV align=center><A href="java script:chgImg(-1)"><IMG height=52
  src="esquerda.png" width=52 border=0></A> <A
  href="java script:auto()"><IMG height=52
  src="slide.png" width=52 border=0></A> <A
  href="java script:chgImg(1)"><IMG height=52
  src="direita.png" width=52 border=0></A> </DIV></TD>
  </TR>
</table>
</BODY></HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que resgatar os valores em um loop senão só pegará o primeiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

if RS.eof then

response.write "nenhum registro encontrado"

response.end 'paramos o programa

else

%>

var NewImg=new Array(<%

while rs.EOF=false

 

%>"painel/imagens/<%=RS("foto")%>,"<%

 

rs.MoveNext : wend

%>);

<% end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eis a grande questão quando se coloca o loop dá esse erro:

 

ADODB.Field (0x80020009)

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

E Agora!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque seu sql desse

strSQL = "SELECT * from tblfotos where id_evento ="&codigo

para esse:

strSQL = "SELECT * from tblfotos"

veja se vem conteúdo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

xiiii cara verifique todas as tabelas... verifique se o id que você esta passando no select é valido e se realmente existe no bd.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá tudo certo Patrique!!

 

É tanto que quando eu coloco assim:

 

var NewImg=new Array("painel/imagens/<%=RS("foto")%>");

 

ele puxa a primeira foto do evento 25 que eu trago via request.querystring

 

o problema é quando jogo dentro do while ai dá o erro!!

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.