當我調用這個函數時,一切正常,只要我不試圖遞歸調用函數。換句話說,如果我取消註釋行:這個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