2017-09-23 1 views
-1

J'ai un simple VBScript qui récupère les données d'une base de données et les parcourt et génère une table. Au cours de cette itération, je veux capturer certaines données (Valeurs d'une colonne spécifique) et les enregistrer dans une variable pour une utilisation ultérieure. Mais chaque fois que mon code atteint cette déclaration if, il ne boucle plus.VBScript ne passe pas l'instruction if

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

Je suppose que vous avez 'On Error Resume Next' dans votre code. Retirez-le et regardez l'erreur qui s'affiche. Aussi, n'appelez pas 'Response.Write' dans' Response.Write'. – Tomalak

+0

Non, je n'ai pas cela En cas d'erreur de reprendre prochainement n'importe où dans mon code. Aussi j'ai fixé le Response.Write, toujours la boucle ne continue pas. –

Répondre

6
longs(indx) = x.value 

semble louche. Preuve:

>> 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 

En plus: Où le indx vient? Vous ne pouvez pas utiliser

longs.add x.value 
+0

Évaluation juste. – Lankymart