递归函数列出父级的所有子级ID (ID ParentID模式)  ,为什么不行的?请帮助 我要调出父级的所有子级的ID,上面的例子也就是调出父classid的所有子classid 记录如下: 
classid parentID 
1  0 
2  1 
3  1 
4  2 
5  2 
6  4 
7  5 Response.write classids(1)   结果为 1,2,3,4,5,6,7,
'调出子类所有ID 
function classids(cid) 
  dim rs,sql 
sql = "SELECT ClassId,ParentID FROM [class] where ParentID = "& cid 
set rs = conn.execute(sql) 
if not(rs.eof and rs.bof) then 
      
  do while not rs.eof 
      classids = classids(rs(0)) 
      classids = classids & rs(0)& "," 
  
      rs.movenext 
  loop 
  
end if call setNull(rs) 
  
end function 

解决方案 »

  1.   

    '调出直接子ID
    function classids(cid) 
      dim rs,sql 
    classids=""
    sql = "SELECT ClassId,ParentID FROM [class] where ParentID = "& cid 
    set rs = conn.execute(sql) 
    do while not rs.eof 
          classids = classids & rs(0) & ","
          rs.movenext 
    loop 
    if len(classids)>0 classids=left(classids,len(classids)-1)
    end function '调出子\孙ID
    function classids(cid) 
      dim rs,sql 
    classids=""
    sql = "SELECT ClassId,ParentID FROM [class] where ParentID = "& cid 
    set rs = conn.execute(sql) 
    do while not rs.eof 
          classids =classids & classids(rs(0)) & ","
          rs.movenext 
    loop 
    if len(classids)>0 classids=left(classids,len(classids)-1)
    end function