08. november 2008 - 18:11Der er
5 kommentarer og 1 løsning
Dobbelt-betingelse i Do While...Loop
Hej alle eksperter
I ASP kan man gennemløbe dataene i en tabel i en database ved fx følgende kommando:
<% DO WHILE NOT objRS.EOF
...
objRS.MoveNext LOOP %>
Her gennemløbes dataene så længe vi ikke er nået til EOF. Men er det muligt at lave en dobbelt-betingelse? Jeg vil nemlig have gennemløbet alle de rækker, der har et bestemt nr., men det er selvfølgelig stadig nødvendigt at tjekke, at vi ikke er nået EOF endnu. Altså, noget i stil med følgende:
<% DO WHILE NOT objRS.EOF AND objRS("nr")=2
...
objRS.MoveNext LOOP %>
Hvordan laves en sådan dobbelt-betingelse? På forhånd tak.
Man laver "dobbelte betingelser" med AND, ligesom du har gjort.
Men med din kode opstår der vist et problem, når objRS.EOF er True. Dvs. når der ikke er noget i databasen, kan objRS("nr") jo heller ikke tjekkes, og det vil give fejl.
Jeg ville løse det således:
<% If Not objRS.EOF Then iNr = objRS("nr") Else iNr = 0 End If
DO WHILE NOT objRS.EOF AND iNr=2
For så _har_ vi først tjekket, om man kan gå ind og aflæse objRS("nr").
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.