2017-09-23 2 views
-1

Ich habe eine einfache VBScript, die die Daten aus einer Datenbank erhält und durchlaufen sie und erzeugt eine Tabelle. Während dieser Iteration möchte ich einige Daten (Werte einer bestimmten Spalte) erfassen und sie zur späteren Verwendung in einer Variablen speichern. Aber wenn mein Code diese if-Anweisung erreicht, wird die Schleife nicht mehr ausgeführt.VBScript geht nicht über die if-Anweisung

Dim lats 
    Dim longs 
    Set lats = CreateObject("System.Collections.ArrayList") 
    Set longs = CreateObject("System.Collections.ArrayList") 
    %> 
    <table> 
    <tr><th>Office</th><th>Address</th><th>Comune</th><th>Province</th><th>Lat</th><th>Long</th><th>2G</th><th>3G</th><th>4G</th></tr> 

    <%do until rs.EOF 
     response.write("<tr>") 
     for each x in rs.Fields 
      response.write("<td>" & response.write(x.value) &"</td>") 
      'IF the below statement equals true, the loop doesn't perform anymore 
      If x.name = "SITE_LAT_N" Then 
      lats.Add x.value 
      ElseIf x.name = "SITE_LON_E" Then 
      longs(indx) = x.value 
      End If 
      next 
     rs.MoveNext 
     response.write("</tr>") 
     loop 
     rs.close 
     conn.close 
     %> 
    </table> 
+1

Ich vermute, Sie haben 'On Error Resume Next' in Ihrem Code. Entfernen Sie es und sehen Sie sich den Fehler an, der angezeigt wird. Rufen Sie auch nicht 'Response.Write' in' Response.Write' auf. – Tomalak

+0

Nein, ich habe das nicht Bei einem Fehler, setze den nächsten irgendwo in meinem Code fort. Auch ich habe das Response.Write behoben, aber die Schleife wird nicht fortgesetzt. –

Antwort

6
longs(indx) = x.value 

sieht verdächtig aus. Beweis:

>> set al = CreateObject("System.Collections.ArrayList") 
>> al.Add "works" 
>> WScript.echo al(0) 
>> al(1) = "doesn't work" 
>> 
works 
Error Number:  -2146233086 
Error Description: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. 
Parametername: index 

Zusätzlich: Woher kommt der indx kommen aus? Können Sie nicht

longs.add x.value 
+0

Faire Bewertung. – Lankymart

Verwandte Themen