Avatar billede hygge81 Nybegynder
20. oktober 2002 - 19:09 Der er 10 kommentarer og
1 løsning

SQL Database

Hejsa....jeg har et problem med dette script....håber der er nogen der kan hjælpe.....jeg er kørt lidt død i det....!!!
Serveren kommer med fejlen "'loop' without 'do'" Jeg ved hvad det betyder men jeg kan ikke se et problem med loopen.....!!!


<%If rs.EOF then %>
<%else%>
<%I = 0 %>
<%First = 1 %>
<table width="760" border="1" cellspacing="0" cellpadding="0">
<% Do until rs.EOF %><br>
  <%If First = 1 then %>
  <tr><td>
  <%Else If "" = RS.Fields("Nacetekst") AND I < 2 Then %>
  </td><td>
  <%Else If "" = RS.Fields("Nacetekst") AND I = 2 Then %>
  </td></tr><tr><td><%I = 0%>
  <%Else%>
 
  <%End If%>
 
<font face="Arial, Helvetica, sans-serif" size="-4">
<%If "" <> RS.Fields("Nacetekst") Then%><!-- Nacenr - Link --><a href="Index.asp?Nace=Y&Nr=<%= RS.Fields("Nacenr")%>" target="_self"><%= RS.Fields("Nacenr")%></a>
<%Else %>
<!-- Overskrift -->
<Strong><%= RS.Fields("Nacenr")%></Strong><br>
<%End if%>
<!-- Nacetekst -->
<%If "" <> RS.Fields("Nacetekst") Then %>
&nbsp;-&nbsp;<%= RS.Fields("Nacetekst")%>
<%End If%>
</font>
<%I = I + 1%>
<%First = 0%>

<%rs.MoveNext%>
<%Loop%>

<!-- Databasen lukkes -->
<%rs.close
conn.close
End if%>
    </td>
    </tr>
    </Table>
Avatar billede kovalt Nybegynder
20. oktober 2002 - 19:11 #1
Hjælper det hvis du erstatter: Do until med While not rs.EOF?
Avatar billede l0w Nybegynder
20. oktober 2002 - 19:12 #2
Jeg bruger normalt

<%while NOT rs.EOF%>

<%wend%>

Jeg kan heller ikke lige se fejlen i den du har der... men jeg bruger
ikke do ... loop så meget igen :)
Avatar billede eagleeye Praktikant
20. oktober 2002 - 19:16 #3
Det er så vidt jeg kan se ikke noget galt i do until frem for while det er det samme der sker.

Det ser nærmere ud til at du bruger else if hvor du skulle bruger elseif som et ord..



<% Do until rs.EOF %><br>
  <%If First = 1 then %>
  <tr><td>
  <%ElseIf "" = RS.Fields("Nacetekst") AND I < 2 Then %>
  </td><td>
  <%ElseIf "" = RS.Fields("Nacetekst") AND I = 2 Then %>
  </td></tr><tr><td><%I = 0%>
  <%Else%>
 
  <%End If%>
Avatar billede hygge81 Nybegynder
20. oktober 2002 - 19:17 #4
Nej....det virker heller ikke....!!!
Avatar billede l0w Nybegynder
20. oktober 2002 - 19:18 #5
så jeg slet ikke :)
Avatar billede hygge81 Nybegynder
20. oktober 2002 - 19:20 #6
Ok...."eagleeye" Det hjalp.....tak for hjælpen....!!!
Avatar billede hygge81 Nybegynder
20. oktober 2002 - 19:21 #7
Og til jer andre....!!!
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 19:21 #8
Din kode er HELT vildt rodet! Jeg har lige ryddet lidt op, så det står lidt pænere, og ændret lidt i dine loops!

Prøv nu:

<%If not rs.EOF then
    I = 0
    First = 1
%>
<table width="760" border="1" cellspacing="0" cellpadding="0" ID="Table1">
<%
    Do until rs.EOF
        If First = 1 then
%>
        <tr>
            <td>
<%
        ElseIf RS.Fields("Nacetekst") = "" AND I < 2 Then
%>
            </td>
            <td>
<%
        ElseIf "" = RS.Fields("Nacetekst") AND I = 2 Then
%>
            </td>
        </tr>
        <tr>
            <td>
<%
            I = 0
        End If
%>
 
    <font face="Arial, Helvetica, sans-serif" size="-4">
<%
    If "" <> RS.Fields("Nacetekst") Then
%>
        <!-- Nacenr - Link -->
        <a href="Index.asp?Nace=Y&Nr=<%= RS.Fields("Nacenr")%>" target="_self"><%= RS.Fields("Nacenr")%></a>
<%
    Else
%>
        <!-- Overskrift -->
        <Strong><%= RS.Fields("Nacenr")%></Strong><br>
<%
    End if
%>
<!-- Nacetekst -->
    <%If "" <> RS.Fields("Nacetekst") Then %>
        &nbsp;-&nbsp;<%= RS.Fields("Nacetekst")%>
    <%End If%>
    </font>

    <%I = I + 1%>
    <%First = 0%>

<%rs.MoveNext%>
<%Loop%>

<!-- Databasen lukkes -->
<%rs.close
conn.close
End if%>
    </td>
  </tr>
</Table>

Mvh,

Thomas Regin.
Avatar billede hygge81 Nybegynder
20. oktober 2002 - 19:24 #9
Øhhh.....tak til Thomas....!!! :-)
Avatar billede l0w Nybegynder
20. oktober 2002 - 19:25 #10
Ja, det er nogen gange problemet med at give sig god tid til at svar
rigtig grundigt, nice svar Thomas ^^
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 19:37 #11
Selv tak! ;)

Jeg er af den overbevisning, at 90% af alle loop-problemer og andre "almindelige" fejltyper kan elimineres, hvis man sætter koden fornuftigt op, og placerer de forskellige kode-blokke under hinanden mv. På den måde kan man nemlig bevare overblikket mens man koder, og så bliver man sjældent forvirret. Selv ikke i de store, komplicerede loops! :)

Mvh,

Thomas Regin.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester