经典ASP:插入数组并导致类型不匹配

时间:2012-08-15 20:26:08

标签: arrays asp-classic type-mismatch

我正在尝试将int插入一个数组,将字符串插入另一个数组。出于某种原因,无论我如何尝试,我都无法插入int或字符串。这是代码

dim siteList,siteNameList, strQuery
Set oConn = Server.CreateObject("ADODB.Connection") 
set oRs = Server.CreateObject("ADODB.Recordset")
oConn.Open strConnQuery
strQuery = "Select zSiteID as id, zSiteNm as Name from vSite"
set ors = oConn.Execute(strQuery)
z=0
Do While Not oRs.EOF
   sID=oRs("id")
   sName=oRs("Name")
   if InStr(oRs("Name"),"'")>0 then
       sOut = replace(strorigFileName,"'"  ,"")
       siteList(z)=sID
       siteNameList(z)=sOut
   else
       siteList(z)=sID(this is where the error occurs first)
       siteNameList(z)=sName

   end if
   z=z+1
   oRs.MoveNext
Loop
oConn.Close

我尝试将其转换为不同的东西,但这根本没有帮助。我不知道出了什么问题,所以任何信息都会非常感激!

2 个答案:

答案 0 :(得分:3)

这是an answer类似的问题,描述了为什么会发生这种情况。

您想要检查返回集(ors)中的记录数,并重新调整数组或在知道所需大小后对其进行初始化。

答案 1 :(得分:2)

在经典ASP中,您需要声明数组的大小:

dim siteList(5)