求教目录树的节点复制问题,把该节点下的所有子节点都复制到另外一个数据表里。


access数据库里tree7表里就这2个字段:nameid,prentid(父)

做一个提交表单框,在这个框里输入要复制的任何节点nameid,提交后,把该节点下的所有子节点都复制到另外一个数据表tree8里(这个表要求自动建立)。

1。该节点下的所有子节点怎么找出来?

2。如何自动建立tree8这个表,把找出来子节点的所有字段都写入tree8这个表里??

急用。谢谢!!

9 个解决方案

#1




dim nameid
nameid=request("nameid")
conn.execute("select nameid into tree8 from tree7 where nameid='"&nameid&"'")

#2


晕,自己顶一下。

#3


这个只有用递归了~
写个函数~
先找出第一层~
函数的参数是节点名称
然后在函数里面调用自己

#4


用递归找到所有节点id,
然后创建一个表,将得到节点插入进去!
OK!

#5


递归好像不可以。如果这个节点下面有5个子节点。。而这5个子节点下面分别又有5个子节点。如何递归??

#6


mark

#7


拜托大家给个思路啊..

急用...

#8


<!--#include file="conn.asp" --> 
<% 
dim nameid : nameid = request.form("nameid") 

while nameid <> "" 
set pa = conn.execute("select nameid,prentid from tree7 where prentid in ("&nameid&")") 
if pa.eof and pa.bof then 
nameid="" 
else 
nameid = "" 
do while not pa.eof 
nameid=nameid&pa("nameid")&"," 
conn.execute("insert into tree8 (nameid,prentid) values("&pa("nameid")&","&pa("prentid")&")") 
pa.movenext 
loop 
if right(nameid,1)="," then nameid=left(nameid,len(nameid)-1) 
end if 
pa.close 
set pa=nothing 
wend 
response.write "导出成功" 
%>

#9


再精简一下

<!--#include file="conn.asp" -->
<%
dim nameid : nameid = request.form("nameid")

while nameid <> ""
set pa = conn.execute("select nameid,prentid from tree7 where prentid in ("&nameid&")")
nameid=""
do while not pa.eof
nameid=nameid&pa("nameid")&","
conn.execute("insert into tree8 (nameid,prentid) values("&pa("nameid")&","&pa("prentid")&")")
pa.movenext
loop
if right(nameid,1)="," then nameid=left(nameid,len(nameid)-1)
pa.close
set pa=nothing
wend
response.write "导出成功"
%>
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告