无限级分类中,删除时怎么删除所有下级分类,具体看下面

来源:百度知道 编辑:UC知道 时间:2024/08/29 13:23:11
表有3个字段,id,upid,name,通过upid来指定他的上一级分类,有多少个下级分类是未知的

给你个解决方案
递归去搜索该级是否有子级分类,如有,则继续递归搜索,如果没有则删除。
//大致的代码,自己去整理下
public Smethod(string id)
{
DataTable dt="select id from table where upid="+id;
//存在子级的
if(dt.Rows.Count>0)
{
foreach(DataRow aRow in dr.Rows)
{
//递归搜索子级
Smethod(aRow["id"].ToString());
}
}
//删除不存在的
else
{
"delete from table where id="+id;
}
}

其实你在实现的时候应该最好再加一个字段来放置一个自分类所有的父级分类,这样就好解决了,或者是用一个字段放置层级然后来递归删除