asp 无限级分类的删除方法

我要的结果是,删除父目录后,下边他的所有子目录数据库设计:id自增主键pid父目录的ID是0则代表pname分类名字ptype是否是根目录,1是根目录,0不是idpidp... 我要的结果是,删除父目录后,下边他的所有子目录

数据库设计:
id 自增主键
pid 父目录的ID 是0则代表
pname 分类名字
ptype 是否是根目录,1是根目录,0不是

id pid pname ptype
1 0 根目录 1
2 1 一级目录 0
3 2 二级目录 0
4 3 三级目录 0

假设有以上数据 现在我要删除根目录,要求连同以下的子目录也一同删掉。

我现在的代码如下:

Pid=Request.QueryString("PID")

conn.execute("delete from mulu where id="&pid)
response.Write("<script>alert(""成功删除分类!"");location.href=""mulu.asp?ID="&ID&""";</script>")
set conn=nothing
response.End()

只能删除当前目录,无法删除子目录,请求帮忙。
qqlxinye的测试了,删除不了。
<%
id=Request.QueryString("id")
function del(id)
set rstemp=Server.CreateObject("ADODB.Recordset")
rstemp.open,"select * from Ssort where pid ="&id,conn,1,1
while not rstemp.eof
del(rstemp(id))
conn.execute("delete from Ssort where S_id="&id)
rstemp.movenext
wend
set conn=nothing
function
%> 这段代码有问题
展开
 我来答
百度网友c8b8bd133
2009-03-03 · TA获得超过305个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:220万
展开全部
数据库设计不合理,你这样,不好实现无限级分类,更不方便管理
我给你推荐一种方法
ID pName pType
1 一级分类A 01
2 一级分类B 02
3 一级分类C 03
4 1级分类A下二级分类A 0101
5 1级分类A下二级分类B 0102
6 1级分类B下二级分类A 0201
7 1级分类B下二级分类A 0202
三级及三级以上的分类,通过pType来看,这样就好管理了
比如,你删除一级分类 A及所有子分类,可以这样
ID=Request.QueryString("ID")
pType=这儿通过读取数据库,得到相应ID的pType值
conn.execute("delete from mulu where Left(pType," & len(pType) & ")='" & pType & "'")
response.Write("<script>alert(""成功删除分类!"");location.href=""mulu.asp?ID="&ID&""";</script>")
set conn=nothing
response.End()
qqlxinye
2009-03-03 · TA获得超过1980个赞
知道大有可为答主
回答量:2257
采纳率:65%
帮助的人:532万
展开全部
呵呵,用一个自己写的函数呀,这个函数递归先找,再在函数最下面删除

function del(id)
set rstemp=Server.CreateObject("ADODB.Recordset")
rstemp.open,"select * from mulu where pid ="&id,conn,1,1
while not rstemp.eof
del(rstemp("id"))
rstemp.movenext
wend
conn.execute("delete from mulu where id="&id)
set rstemp=nothing
function

出现了什么错,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dathesea
2009-03-03 · TA获得超过426个赞
知道小有建树答主
回答量:1058
采纳率:100%
帮助的人:550万
展开全部
conn.execute("delete from 父表 where id="&pid)
conn.execute("delete from 子表一 where id="&pid)
conn.execute("delete from 子表二 where id="&pid)
......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式