ASP递归赋值问题,望高手帮忙解决下

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:31:09
我现在用asp做个东西,需要用到递归:读取无限级分类,通常我用sub做,这样可以在代码中使用response.write,输出正常,可是由于现在代码编写的特殊性,我必须使用function完成该项操作,问题就出在这里:只能输出第一层的值。以下给出简单示例代码以便于理解问题:
1.参数解释:
@rootid 读取数据的层次,比如无限级分类里面子类别的父类别的id编号
2.测试数据
id rootid sortname
-------------------
1 0 AAAA
2 0 BBBB
3 1 aaaaaa
4 1 bbbbb
5 2 cccccc
4.sub程序(显示达到要求)
<%
sub showsort(rootid)
//rootid参数检验,在此略
set rs=server.createobject("adodb.recordset")
sql="select id,rootid,sortname from cms_sort where rootid="&rootid&""
rs.open sql,conn,1,1
if not rs.eof then
do while not rs.eof
response.write rs("sortnam

<%
function showsort(rootid)
//rootid参数检验,在此略
set rs=server.createobject("adodb.recordset")
sql="select id,rootid,sortname from cms_sort where rootid="&rootid&""
rs.open sql,conn,1,1
if not rs.eof then
do while not rs.eof
showsort=showsort&rs("sortname")
showsort=showsort(rs("id"))
rs.movenext
loop
end if
rs.close
set rs=nothing
end function
%>

假如把sub里的程序,丝毫不改的移到function里试试吧

我感觉,当时输出比付值输出要可靠点,呵呵,个人使用习惯吧。