Asp classic 声明没有维度的数组

Asp classic 声明没有维度的数组,asp-classic,Asp Classic,如何在asp classic中声明没有维度的数组? 我想要的是显示记录集,并将其保存在数组中 呼叫类型 我在这条线上遇到一个错误 Microsoft VBScript运行时错误“800a0009” 下标超出范围 agentWithCallType(agentWithCallTypeCtr)=RsAgentEffectivenessPerCallType(“agentName”) 您已声明了数组,但未能声明其边界。您想重拨阵列以告诉VBScript阵列的第一个大小: Dim agentWith

如何在asp classic中声明没有维度的数组? 我想要的是显示
记录集
,并将其保存在数组中


呼叫类型
我在这条线上遇到一个错误

Microsoft VBScript运行时错误“800a0009”
下标超出范围

agentWithCallType(agentWithCallTypeCtr)=RsAgentEffectivenessPerCallType(“agentName”)

您已声明了数组,但未能声明其边界。您想重拨阵列以告诉VBScript阵列的第一个大小:

Dim agentWithCallType()
ReDim agentWithCallType(0)
或者,您也可以从一开始就知道它的大小为0:

Dim agentWithCallType(0)
然后,在记录集中循环后,您可以为每个要添加的记录增加一个数组大小:

ReDim-Preserve-agentWithCallType(Ubound(agentWithCallType)+1)

看起来您只是将记录集值分配给一个数组(并在
TD
中显示结果)。如果要从记录集转到数组,可以使用
recordset
对象的
GetRows()
方法。这样就不必担心数组的尺寸是否合适

dima
a=RsAgentEffectivenessPerCallType.GetRows()
'a现在是包含记录集值的数组

我建议改为使用动态数组,查看
脚本编写。字典
object@YuriyGalanter如果他想将
ADODB.Recordset
转换为数组,却不知道使用
Scripting.Dictionary
会给他带来什么好处,另外,它比使用数组作为脚本编写效率低。字典需要COM。@MichaelRosello它可能会工作,但这不是公认的答案,请看,无需定义数组边界,甚至无需循环记录集并填充数组,因为ADODB为您提供了一种方法来实现这一点
agentWithCallType=RsAgentEffectivenessPerCallType.GetRows()
只需一行即可。此外,您的方法不会创建二维数组,这意味着您将丢失行的上下文。