各位高手,请教:递归导致堆栈溢出问题(分不够再加)
function parentmenu(id)
set rs=server.CreateObject("adodb.recordset")
sql="select * from USER_INFO where CREATE_SITE='"&id&"' and CONFIRM='Y' order by id"
rs.open sql,conn,1,1
while not rs.eof
if rs("parent_id") = id and rs("ISUPDATE")="0" then
ChildmenuCount = ChildmenuCount + 1
end if
ChildCount=conn.execute("select count(*) from USER_INFO where CONFIRM='Y' and CREATE_SITE='"&rs("USER_ID")&"'")(0)
if ChildCount=0 then
else
parentmenu rs("USER_ID")
end if
rs.movenext
wend
rs.close
set rs=nothing
end function
堆栈溢出
过程嵌套太深。每次代码从一个过程跳到另一个过程,本地变量的内容被放到堆栈中。堆栈是一个大小随着要求执行的脚本动态增长和缩小的内存工作区域。