この関数を呼び出すと、関数を再帰的に再度呼び出そうとしない限り、すべてが機能します。つまり、行のコメントを外すと:
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
アイデアは、私が子アカウントを持つマスター アカウントを持つことができ、それらの子アカウントが独自の子アカウントを持つことができるようにすることです。最終的に、ParentID が Null で、独自の子を持つ別のマスター アカウントが存在します。それを念頭に置いて、私はこれを正しい方法で行っていますか?
迅速な対応に感謝します。
みんな、ありがとう、
通常のエラー以外:
エラーの種類: (0x80020009) 例外が発生しました。
何が問題を引き起こしているのかわかりませんでした。おそらくいくつかの要因によるものだと理解しています。
- 接続を閉じずに、同じ接続を再度開こうとしています。
- データベースへの多数の同時接続。
データベースの内容は次のとおりです。
AcctID | ParentID
1 Null
2 1
3 1
4 2
5 2
6 3
7 4
アイデアは、私が子アカウントを持つマスター アカウントを持つことができ、それらの子アカウントが独自の子アカウントを持つことができるようにすることです。最終的に、ParentID が Null で、独自の子を持つ別のマスター アカウントが存在します。それを念頭に置いて、私はこれを正しい方法で行っていますか?
迅速な対応に感謝します。