28. juni 2002 - 02:25
Der er
8 kommentarer og 1 løsning
Array
Hejsa... Jeg har et problem med et lille ASP Script.. Jeg har et Array som f.eks indeholder tallene : 200, 201, 202 Arrayet hedder f.eks ArrJK Jeg har så et loop : do while not rs.eof If not RS("ID") IN ArrJK then Response.Write "Eksitere ikke" Else Response.Write "Eksitere" End IF rs.movenext loop Der hvor det går galt er : If not RS("ID") IN ArrJK then I min SQL Streng kan jeg jo godt bruge "IN", men det kan jeg ikke i min IF sætning. Hvad kan jeg gøre istedet ? Jens K
Annonceindlæg fra Cognizant
Agentic AI kræver mere end teknologi
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Måske noget i denne stil? do while not rs.eof bCheck = False For i = 0 To UBound(ArrJK) If RS("ID") = ArrJK(i) Then bCheck = True Exit For End If Next If bCheck = True Then response.write "eksisterer" Else response.write "eksisterer ikke" End If rs.movenext loop
Nu har jeg ikke såen vildt meget forstand på ASP... Jeg er lidt i tvivl om det er et Array jeg har.. Kan jeg godt bare skrive ArrJK = 200,201 ? De tal den skal tjekke for ligger nemlig i min Querystring.. Jens K
Nej ikke helt :-) ArrJK = Split("200,201,202") Det laver et array på 3 elementer (første element 0) Du skal dog passe på med mellemrum, hvis din streng eks. indeholder "200, 201,202" vil 2. element blive " 201" som ikke kan sammenlignes med "201". Dette kan eks. løses sådan: ArrJK = Split(Replace(Session("MyValues"), " ", ""), ",")
Okay det virker ikke.. Jeg er ikke lige så spids til det her ASP.. Mit Array : ArrJK = Split("198,200,201") Mit Loop : <% do while not rs.eof %> <tr> <% bCheck = False For i = 0 To UBound(ArrJK) If RS("ID") = ArrJK(i) Then bCheck = True Exit For End If Next If bCheck = True Then %> <td><a href="folder_open.asp?id=<%= RS("ID")%>"><img border="0" src="../img/FileMenuPlus.jpg"><img border="0" src="../img/FileMenuMap1.jpg"></a></td> <% Else %> <td><a href="folder_open.asp?id=<%= RS("ID")%>"><img border="0" src="../img/FileMenuMinus.jpg"><img border="0" src="../img/FileMenuMap2.jpg"></a></td> <% End If %> <td><font face="Verdana" size="1" color="#7E9BB5"> <a style="color: #7E9BB5; text-decoration: none" href="folder_open.asp?id=<%= RS("ID")%>"><%= RS("Title")%></a></font></td> </tr> <% rs.movenext loop %> Hvad går der galt ? Skal nok afsætte flere point.. Jens K
Hvilke fejl får du ? Problemet er muligvis så simpelt som dette: <% do while not rs.eof %> <tr> <% bCheck = False myID = RS("ID") For i = 0 To UBound(ArrJK) If myID = ArrJK(i) Then bCheck = True Exit For End If Next If bCheck = True Then %> <td><a href="folder_open.asp?id=<%= myID%>"><img border="0" src="../img/FileMenuPlus.jpg"><img border="0" src="../img/FileMenuMap1.jpg"></a></td> <% Else %> <td><a href="folder_open.asp?id=<%= myID%>"><img border="0" src="../img/FileMenuMinus.jpg"><img border="0" src="../img/FileMenuMap2.jpg"></a></td> <% End If %> <td><font face="Verdana" size="1" color="#7E9BB5"> <a style="color: #7E9BB5; text-decoration: none" href="folder_open.asp?id=<%= myID%>"><%= RS("Title")%></a></font></td> </tr> <% rs.movenext loop %> Der kan være problemer med at læse den samme værdi fra databasen flere gange, så jeg har smidt den i en variabel.
Virker stadig ikke.. Jeg får ikke nogen ASP fejl.. Den bruger bare ikke de rigtig Grafik stykker, ergo finder den ikke ud af om ID nummeret eksitere i Arrayet.. Jens K
Eller.. Den tror at alle ID nr eksitere i Arrayet.. Og det gør de jo ikke.. Så den kan ikke fatte at bruge False.. Jens K
Jeg er så kommet en lille smule videre nu... If myID = int(ArrJK(i)) Then Jeg har skrevet int foran, og nu virker det lidt.. Problemet er bare det kun virker ved den som står forest i arrayet.. Og det er ikke meningen.. Du skriver selvfølgelig det med mellemrum øverst, synes bare ikke jeg kan få det du har skrevet til at virke.. Så skal bruge lidt hjælp.. Kan du ikke lige skrive replace strengen så jeg bare kan paste den ind ? Jens K
Glem det.. Har fået det til at virke.. Mange tak for hjælpen.. Jens K
Kurser inden for grundlæggende programmering