当我调用这个函数时,一切正常,只要我不试图递归调用函数。换句话说,如果我取消注释行:这个ASP递归函数有什么问题?
GetChilds rsData("AcctID"), intLevel + 1
然后功能中断。
<%
Function GetChilds(ParentID, intLevel)
Set rsData= Server.CreateObject("ADODB.Recordset")
sSQL = "SELECT AcctID, ParentID FROM Accounts WHERE ParentID='" & ParentID &"'"
rsData.Open sSQL, conDB, adOpenKeyset, adLockOptimistic
If IsRSEmpty(rsData) Then
Response.Write("Empty")
Else
Do Until rsData.EOF
Response.Write rsData("AcctID") & "<br />"
'GetChilds rsData("AcctID"), intLevel + 1
rsData.MoveNext
Loop
End If
rsData.close: set rsData = nothing
End Function
Call GetChilds(1,0)
%>
*反馈
谢谢大家编辑后,
比一般的错误其它:
Error Type: (0x80020009) Exception occurred.
我不知道是什么导致的问题。我明白这可能是由于几个因素。
- 未关闭连接并尝试重新打开相同的连接。
- 对数据库的许多并发连接。
数据库内容如下:
AcctID | ParentID
1 Null
2 1
3 1
4 2
5 2
6 3
7 4
的想法是,这样我可以有子帐户主账户,而这些子帐户都可以拥有自己的子帐户。最终会有另一个MasterID账户,其ParentID为Null,将拥有自己的孩子。考虑到这一点,我是否以正确的方式开展这项工作?
感谢您的快速回复。
谢谢大家,
比一般的错误其它:
Error Type: (0x80020009) Exception occurred.
我不知道是什么导致的问题。我明白这可能是由于几个因素。
- 未关闭连接并尝试重新打开相同的连接。
- 对数据库的许多并发连接。
数据库内容如下:
AcctID | ParentID
1 Null
2 1
3 1
4 2
5 2
6 3
7 4
的想法是,这样我可以有子帐户主账户,而这些子帐户都可以拥有自己的子帐户。最终会有另一个MasterID账户,其ParentID为Null,将拥有自己的孩子。考虑到这一点,我是否以正确的方式开展这项工作?
感谢您的快速回复。
您是否收到错误消息? – 2008-11-18 19:48:28
函数卡住或返回错误?你有没有检查你的数据循环? – 2008-11-18 19:57:04