<%
class classlist
private c_id
private c_db_name
private c_pid
private c_classname
public property let id(str)
c_id = str
end property
public property let db_name(str)
c_db_name = str
end property
public property let pid(str)
c_pid = str
end property
public property let classname(str)
c_classname = str
end property
dim list()
dim i,n
Private Sub Class_Initialize()'Initialize variable
i=0
n=0
End Sub
public function classarry(thisid,pid)' Obtain the subordinate ID
if pid>0 then
sql="select * from "&c_db_name&" where "&c_pid&"="&thisid
else
sql="select * from "&c_db_name&" where "&c_id&"="&thisid
end if
set rs_c=(sql)
n=n+1
do while not rs_c.eof
list(0,i)=rs_c(c_id)' load into the array
list(1,i)=rs_c(c_classname)
list(2,i)=n
'n=n+1
i=i+1
thisid=classarry(rs_c(c_id),1)'The recursive call is called here until the last subclass
rs_c.movenext
loop
n=n-1
rs_c.close
end function
public function arrylist()' loop out all root classes
set rs_c=("select count("&c_id&") from "&c_db_name)
lenght=rs_c(0)
rs_c.close
redis list(2, length)'Set the array
set rs1=("select "&c_id&" from "&c_db_name&" where "&c_pid&"=0")
do while not
call classarry(rs1(c_id),0)
'n=1
loop
arrylist=list
end function
end class
%>
class classlist
private c_id
private c_db_name
private c_pid
private c_classname
public property let id(str)
c_id = str
end property
public property let db_name(str)
c_db_name = str
end property
public property let pid(str)
c_pid = str
end property
public property let classname(str)
c_classname = str
end property
dim list()
dim i,n
Private Sub Class_Initialize()'Initialize variable
i=0
n=0
End Sub
public function classarry(thisid,pid)' Obtain the subordinate ID
if pid>0 then
sql="select * from "&c_db_name&" where "&c_pid&"="&thisid
else
sql="select * from "&c_db_name&" where "&c_id&"="&thisid
end if
set rs_c=(sql)
n=n+1
do while not rs_c.eof
list(0,i)=rs_c(c_id)' load into the array
list(1,i)=rs_c(c_classname)
list(2,i)=n
'n=n+1
i=i+1
thisid=classarry(rs_c(c_id),1)'The recursive call is called here until the last subclass
rs_c.movenext
loop
n=n-1
rs_c.close
end function
public function arrylist()' loop out all root classes
set rs_c=("select count("&c_id&") from "&c_db_name)
lenght=rs_c(0)
rs_c.close
redis list(2, length)'Set the array
set rs1=("select "&c_id&" from "&c_db_name&" where "&c_pid&"=0")
do while not
call classarry(rs1(c_id),0)
'n=1
loop
arrylist=list
end function
end class
%>