2017-09-23 3 views
-1

私は単純なVBScriptを持っています。これはデータベースからデータを取得し、それらを反復してテーブルを生成します。この繰り返しの間、私はいくつかのデータ(特定の列の値)をキャプチャし、後で使用するためにそれらを変数に保存します。しかし、私のコードがその文に達するたびに、ループはそれ以上ループしません。VBScriptは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

あなたのコードに 'On Error Resume Next'があります。それを削除し、表示されるエラーを見てください。また、 'Response.Write'の内部で' Response.Write'を呼び出さないでください。 – Tomalak

+0

いいえ私はそのエラーが発生していない場合は、コード内の次のどこかで再開します。また、私はResponse.Writeを修正しました。でも、ループは継続しません。 –

答えて

6
longs(indx) = x.value 

魚に見えます。証拠:

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

さらに:indxはどこから来たのですか?あなたは使用できません

longs.add x.value 
+0

公正な評価。 – Lankymart

関連する問題