首页 > 解决方案 > VBScript 对象属性/方法调用?

问题描述

我正在使用 VBScript 调试一个传统的经典 asp 站点。在 global.asa 文件中,我发现有一些代码,我无法弄清楚方法/属性的来源。不知道有没有人能指出我的方向,好吗?

Dim ArrayIndex, AllCityIDs, AllCityNames, EmployeeIDs, EmployeeNames, oEmp

    Set oCity = Server.CreateObject("EmployeeDB.City")
    Set colCities = oCity.List

    Set oEmp = Server.CreateObject("EmployeeDB.Employee")

    Redim CityEmployeeArray (colCities.Count - 1)

    ArrayIndex = 0
    ' for each City, let's build the Employee list for that city.
    for each oItem In colCities
        AllCityIDs = AllCityIDs & oItem.Index & " || "
        AllCityNames = AllCityNames & oItem.Value & " || "

        'response.Write("oItem.Index:")
        'response.Write(oItem.Index)

        Set colCityEmployees = oEmp.EmployeesByCity (oItem.Index)

        'response.Write("colCityEmployees:")
        'response.Write(colCityEmployees.Count)

        EmployeeIDs = vbNullString
        EmployeeNames = vbNullString

        for each oCityEmp in colCityEmployees
            EmployeeIDs = EmployeeIDs & oCityEmp.Index & " || "
            EmployeeNames = EmployeeNames & oCityEmp.Value & " || "
        next

        EmployeeIDs = RemoveEndDelimiter (EmployeeIDs, " || ")
        EmployeeNames = RemoveEndDelimiter (EmployeeNames, " || ")

        CityEmployeeArray(ArrayIndex) = Array(oItem.Index, Array(EmployeeIDs, EmployeeNames))

        ArrayIndex = ArrayIndex + 1
    next

    Set oCity = Nothing

End Sub

我想知道这条线

Set colCityEmployees = oEmp.EmployeesByCity (oItem.Index)

EmployeesByCity 属性/方法来自哪里?它如何从 oItem.Index 参数中获取 colCityEmployees 的值?

在本地 IIS 上运行页面时,我也收到线路错误

for each oCityEmp in colCityEmployees

Microsoft VBScript 运行时错误“800a01c3”

对象不是集合

/LM/W3SVC/5/ROOT/PHONELISTADMIN/global.asa,第 80 行

任何建议将不胜感激。

谢谢你。

标签: vbscriptasp-classic

解决方案


推荐阅读