取所有子节点的算法

sql_userid="select id,perid from z_nfoa_User where Istatus=1 order by perid"'   按照perid排序
set rs_userid=server.CreateObject("ADODB.RecordSet")
dim rsid(),prsid()
rs_userid.open sql_userid,conn_cm,
1,3
redim rsid(rs_userid.recordcount)
redim prsid(rs_userid.recordcount)
i
=1
while not rs_userid.eof
rsid(i)
=rs_userid("id")
prsid(i)
=rs_userid("perid")
i
=i+1
rs_userid.movenext
wend
rsid(
0)=i-1
rs_userid.close
set rs_userid=nothing
kk
=getallid(rsid,prsid,perid_user)
response.Write(kk)

function getallid(rsid,prsid,meid)

i
=rsid(0)
id_temp
=","&meid&","
    
for k=1 to i
        
if instr(id_temp,","&cstr(prsid(k)&",")) then
            id_temp
=id_temp&rsid(k)&","
        end 
if
    next
getallid
=id_temp
'getallid=i
end function

乱是乱了点,而且起了太多的临时数组,好像不太爽
posted @ 2005-12-30 11:32  风谷.Net  阅读(271)  评论(0编辑  收藏  举报