【发布时间】:2017-04-04 23:52:33
【问题描述】:
4 For i = 1 To mcolHistory.Count
5 gobjCommand.Command.Parameters("UID").Value = mcolHistory(i)
6 gobjCommand.Command.Execute
7 Next i
gobjCommand 是一个 ADODB 命令对象。
mcolHistory 是 UID 的集合。
存储过程已设置在其他块中。
- 包含“for 循环”的函数应该被调用 300-350 次。每次调用该函数时,也会执行“for 循环”。 'mcolHistory.Count' 的值大约在 1 到 100 之间变化。
- 第 5 行和第 6 行应该被调用很多次。存储过程运行了很多次。
- 第 5 行在一定时间后抛出错误“堆栈空间不足”,应用程序崩溃。
请告诉我可能导致此错误的原因?以及如何解决这个问题?*
【问题讨论】:
-
ADODB Command对象没有Command属性(比较MSDN)。所以无论gobjCommand是什么,它都不是ADODB Command对象。 -
话虽如此,设置命令参数值不太可能使您耗尽堆栈空间。 ADODB 导致问题的假设很可能是错误的。更有可能是您的编程错误在您未显示的代码中的某个地方。
标签: sql stored-procedures vb6 adodb vb6-migration