VBScript没有超过if语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBScript没有超过if语句相关的知识,希望对你有一定的参考价值。

我有一个简单的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>
答案
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

以上是关于VBScript没有超过if语句的主要内容,如果未能解决你的问题,请参考以下文章

vbscript 如果另一个返回变量不可为空,则VB.NET可空整数通过if语句可能没有任何结果= 0。

vbscript 我的代码片段

vbscript 各种自定义代码片段 - 有关详细信息,请参阅注释

如果 - Else If语句在VBScript中

如何在 VBScript for Classic-ASP 中执行单行 If 语句?

编写代码片段的更简洁的方法