求高手帮忙,关于目录树的递归扫描
有个数据库,有个无限极目录树表名 tbl_product_Class ,结构如下,
classid(自动编号) tname(名称) parentid(父级ID)
1 XXX有限公司 0
2 行政部 1
3 业务部 1
4 (业务部)华东区 3
5 (业务部)浙江省区 4
6 宁波区 5
7 杭州区 5
8 … 5
9 (业务部)江苏省区 4
10 业务部)安徽省区 4
11 (业务部)西南区 3
现在希望根据一个已知的父节点classid,如classid=4,获得该父节点下所有子节点的classid列表,并以逗号为间隔的字符串
比如通过调用 AllsubClass(4),将返回得到一个字符串“4,5,6,7,8,9,10”,请教各位高手用 c#写一下源代码,我依葫芦画瓢写了,写不下去了,跪求帮忙啊!
public static string AllsubClass(int Parentid)
{
string sal = "Select bmid From bumen Where Parentid=" + Parentid;
SqlDataReader Rssubclass = SqlHelper.ExecuteReader(SqlHelper.connectionString, CommandType.Text, sal);
while (Rssubclass.Read())
{
??????????
}
Rssubclass.Close();
}
===================以下是ASP的写法,供参考============================================================
Function AllsubClass(Parentid)
Dim Rssubclass
sal="Select classId From tbl_product_Class Where Parentid="&Parentid
'response.write sal&"<br>"
Set Rssubclass=Conn.ExeCute(sal)
if not Rssubclass.Eof then
While Not Rssubclass.Eof
AllsubClass=AllsubClass & "," & Rssubclass("classId")
AllsubClass=AllsubClass & AllsubClass(Rssubclass("classId"))
Rssubclass.MoveNext
Wend
end if
Rssubclass.Close
Set Rssubclass=Nothing
End Function