当我调用这个函数时,一切正常,只要我不尝试再次递归调用该函数。换句话说,如果我取消注释该行:
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
我的想法是,我可以拥有一个带有子帐户的主帐户,而这些子帐户可以拥有自己的子帐户。最终将有另一个父 ID 为 Null 的主帐户,该主帐户将拥有自己的子帐户。考虑到这一点,我是否以正确的方式进行?
感谢您的快速回复。
谢谢大家,
除了通常的错误:
错误类型:(0x80020009)发生异常。
我不确定是什么导致了这些问题。我知道这可能是由于几个因素。
- 不关闭连接并尝试重新打开相同的连接。
- 到数据库的许多并发连接。
数据库内容如下:
AcctID | ParentID
1 Null
2 1
3 1
4 2
5 2
6 3
7 4
我的想法是,我可以拥有一个带有子帐户的主帐户,而这些子帐户可以拥有自己的子帐户。最终将有另一个父 ID 为 Null 的主帐户,该主帐户将拥有自己的子帐户。考虑到这一点,我是否以正确的方式进行?
感谢您的快速回复。