PDA

Bekijk Volledige Versie : [ASP] Array binnen for-loop in JScript



Antonie Wiggers
22/05/03, 01:35
In onderstand voorbeeld lijken de waarden in de array szFoto[] verloren te
gaan.

Vast een stomme denkfout. Waar zit die fout?

--

Antonie Wiggers
(remove "NOSPAM" in the e-mail address and replace "invalid" by "nl" to
contact me)


=======================================
De code (ASP met JScript)
=======================================

<%@ LANGUAGE=JScript %>
<%
var hConnection=Server.createObject("ADODB.Connection");
hConnection.open("DRIVER={Microsoft Access Driver (*.mdb)};" + "DBQ=" +
Server.MapPath("Leden.mdb") + ";");
var rs = Server.CreateObject("ADODB.RecordSet");
var szSQL = "SELECT Leden.Foto FROM Leden WHERE (Not (Leden.Foto)='') ORDER
BY Leden.Foto;";
rs.Open(szSQL,hConnection);

var nAmount = 0;
while (!rs.EOF) {
nAmount++;
rs.MoveNext();
}
var szFoto = new Array(nAmount);
var n = 0;
for(rs.MoveFirst; !rs.EOF; rs.MoveNext()) {
szFoto[n] = rs("Foto");
Response.Write(n + "a:" + szFoto[n] + "<br>");
n++;
}

// tot hier werkt alles, echter vanaf dit punt lijken
// alle waarden van szFoto[] te zijn verloren.

for(n = 0; n < nAmount; n++) {
Response.Write(n + "b:" + szFoto[n] + "<br>");
}

rs.Close();
hConnection.Close();
%>

=======================================
Resultaat.
=======================================

0a:2002cvz004.jpg
1a:2002cvz013.jpg
2a:2002cvz016.jpg
3a:2002cvz018.jpg
4a:2002cvz019.jpg
5a:2002cvz020.jpg
0b:
1b:
2b:
3b:
4b:
5b:

Daniel Tryba
22/05/03, 01:35
Antonie Wiggers <antonie.wiggers@nospamhome.invalid> wrote:
> In onderstand voorbeeld lijken de waarden in de array szFoto[] verloren te
> gaan.
>
> Vast een stomme denkfout. Waar zit die fout?

szFoto[n] = rs("Foto");

zou wel eens een referentie kunnen opleveren naar het rs object.

Makkelijk te testen door even een movefirst te doen voor het testen van
het array.

Quickhack zou dan wel eens
szFoto[n] = ""+rs("Foto");
of expliciet
szFoto[n] = rs("Foto").value;
kunnen zijn.

BTW het is niet echt handig om zinnige stukken van je posting na je
sigdelimter te stoppen.

--

Daniel Tryba

Antonie Wiggers
22/05/03, 02:05
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> wrote in
message news:bah25f$19r$1@news.tue.nl...

> szFoto[n] = rs("Foto");
> zou wel eens een referentie kunnen opleveren naar het rs object.

Jawel nu je het zegt....

> Quickhack zou dan wel eens
> szFoto[n] = ""+rs("Foto");
> of expliciet
> szFoto[n] = rs("Foto").value;
> kunnen zijn.

Inderdaad. En ze werken beide!

Bedankt.

--

Antonie Wiggers
(remove "NOSPAM" in the e-mail address and replace "invalid" by "nl" to
contact me)