Iis 每个循环的经典ASP过早终止

Iis 每个循环的经典ASP过早终止,iis,asp-classic,Iis,Asp Classic,我的一个ASP脚本有一个非常奇怪的问题。它是一个简单的脚本,将数据库中的信息读取到记录集中,并在记录集中循环,每次都将HTML输出为表行 我遇到了一个问题,它周期性地接近它的for-each循环的末尾,只是停止,而没有通过所有的记录集。我知道它正在停止,因为我生成的HTML在记录集中只向下延伸到S或T。脚本没有崩溃,因为在for-each循环下面我结束了表,所有的HTML仍然存在 奇怪的是,一次刷新它就坏了,下次我刷新它时它就工作了——SQL数据库中的数据是静态的,ASP脚本没有改变。一个负载可

我的一个ASP脚本有一个非常奇怪的问题。它是一个简单的脚本,将数据库中的信息读取到记录集中,并在记录集中循环,每次都将HTML输出为表行

我遇到了一个问题,它周期性地接近它的for-each循环的末尾,只是停止,而没有通过所有的记录集。我知道它正在停止,因为我生成的HTML在记录集中只向下延伸到S或T。脚本没有崩溃,因为在for-each循环下面我结束了表,所有的HTML仍然存在

奇怪的是,一次刷新它就坏了,下次我刷新它时它就工作了——SQL数据库中的数据是静态的,ASP脚本没有改变。一个负载可以工作,下一个负载可以断开


我不知道这里发生了什么,所以欢迎任何建议

我倾向于做的一件事是将SQL写入页面,以便查看发生了什么。此外,将记录集的计数写入页面以进行调试可能会有所帮助

尝试使用类似以下内容:

const C_NO_DATA=“NO_DATA”
const C_ERROR=“ERROR”
常数C_COL_标识符=0
常数C列错误ID=1
常数C列错误消息=2
常数C_COL_SQL=3
常数C_COL_连接=4
函数GetDataSet(sqlString,connString)
“初始化。。。
dim returnVal,rsData
出错时继续下一步
'定义并打开记录集对象。。。
set rsData=Server.CreateObject(“ADODB.RecordSet”)
rsData.openSQLString,connString,0,1,1
'初始化包含数组的空值。。。
redim returnVal(0,0)
returnVal(0,0)=C_无数据
“处理任何错误。。。
如果不是rsData.EOF和rsData.BOF,则
'存储数据。。。
returnVal=rsData.GetRows()
“整理一下。。。
rsData.close
设置rsData=nothing
选择case err.number
案例3021'未返回任何数据
'不执行任何操作,因为初始值仍然存在(C_无数据)
案例0'无错误
'由于数据已返回,请不要执行任何操作
其他情况
redim returnVal(4,0)
returnVal(C_列标识符,0)=C_错误
returnVal(C_COL_ERROR_ID,0)=错误号
returnVal(C列错误消息,0)=错误描述
returnVal(C_COL_SQL,0)=sqlString
returnVal(C_COL_连接,0)=connString
结束选择
如果结束
错误转到0
'返回数组。。。
GetDataSet=returnVal
端函数
此例程将数据直接读取到数组中,以便您可以在空闲时对其进行检查

--编辑--


除此之外,我之所以提供这样的代码,是因为它是一个函数,可以一次性提取所有数据,而不是通过一个开放的数据库连接进行循环。

您能给我们展示一下脚本吗?