递归错误

tristia 2006-09-19 02:01:33
数据结构:
ID NAME FatherID
1 ww 0
2 33 0
3 ew 1
4 de 3


递归函数
==================================
Function fn_RecursionSeach(Father_ID)
sql="select * from new_sort where sort_code = "&Father_ID
set rs = server.CreateObject ("ADODB.Recordset")
rs.open sql,conn,1,1

dim i
dim pid_id
i=1
do while not rs.eof
pid_id=rs("sort_id")

if rs("sort_level")=4 then
response.Write("|------------"&trim(rs("sort_name"))&" | "&trim(rs("sort_name_en"))&"|"&rs("sort_code")&"<br>")
elseif rs("sort_level")=1 then
response.Write("|---"&trim(rs("sort_name"))&" | "&trim(rs("sort_name_en"))&"|"&rs("sort_code")&"<br>")
elseif rs("sort_level")=2 then
response.Write("|------"&trim(rs("sort_name"))&" | "&trim(rs("sort_name_en"))&"|"&rs("sort_code")&"<br>")
elseif rs("sort_level")=3 then
response.Write("|---------"&trim(rs("sort_name"))&" | "&trim(rs("sort_name_en"))&"|"&rs("sort_code")&"<br>")
end if

fn_RecursionSeach(pid_id)
i=i+1
rs.movenext
loop

End Function




======================

调用

<body>
<%
fn_RecursionSeach(0)
%>
</body>


应该少了什么?!最近头晕晕的,想不出东西来
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tristia 2006-09-20
  • 打赏
  • 举报
回复


问题自己解决了,散分了
tristia 2006-09-19
  • 打赏
  • 举报
回复
我想要的结果是
ID NAME FatherID
1 ww 0
3 ew 1
4 de 3
2 33 0
tristia 2006-09-19
  • 打赏
  • 举报
回复
注释掉函数里的 fn_RecursionSeach
就只显示第一层数据:
ID NAME FatherID
1 ww 0
2 33 0


不注释的话就显示
ID NAME FatherID
1 ww 0
3 ew 1
iasky 2006-09-19
  • 打赏
  • 举报
回复
在调用过程时,不必使用 Call 关键字。然而,如果使用 Call 关键字调用要求参数的过程,则必须用括号将 argumentlist 括起来。如果省略 Call 关键字,那么必须也同时省略 argumentlist 参数两边的括号。使用 Call 语法调用内部函数或使用用户自定义函数,函数返回值都会被放弃。
ice241018 2006-09-19
  • 打赏
  • 举报
回复
call fn_RecursionSeach(0)

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧