加入收藏
联系我们
关于我们
 您现在的位置: 亿聪 >> 网络学院 >> 网络编程 >> ASP >> 正文  
  用ASP+ACCESS编写目录树         ★★★
用ASP+ACCESS编写目录树
[ 作者:六月海设计    转贴自:pconline    点击数:27621    更新时间:2003/9/28    文章录入:亿聪 ]
利用ACCESS创建数据库listBase.mdb:
  数据表:listTable
  数据字段:listId    listName    listInfo    parentId

  连接方法:

<%
    dim sConn,sConnStr,sSql
    sConnStr="DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("listBase.mdb")
    set sConn=server.createobject("adodb.connection")
    sConn.open sConnStr
%>

  把以上代码保存成文件:initialize.asp

  下面这段程序代码是用来显示目录树用的,保存成文件:inc.asp

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]  下一页

<!--#include file="initialize.asp"-->
<script language=jscript>
<!--
//此函数用来显示与关闭它的子菜单的,并切换其前面的小图片
function showMenu(menuObj,isSub){
if(menuObj.style.display=="none"){
menuObj.style.display="";
if(isSub==1){
event.srcElement.src="images/open.gif";
}
}
else{
menuObj.style.display="none";
if(isSub==1){
event.srcElement.src="images/close.gif";
}
}
}
//-->
</script>
<!--下面这段蓝色的区域,是设置目录树的根,其中的内容非数据内的数据,数据库内的数据都附着在它的下面//-->
<%
response.write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))
response.write("<tr>" & chr(13)&"<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>")
response.write("<tr>" & chr(13) & "<td width='18' ><img src='images/root.gif' onclick='jscript:showMenu(subMenu0,0)' style='cursor:hand' alt='不可修改'></td>" & chr(13) & "<td width='100' class='menuPro' id='listName0'>根节点</td>" & chr(13))
response.write("<td width='40' class='menuFont' align='center' style='cursor:hand' onclick=""jscript:showForm('add',0)"">添加</td>" & chr(13))
response.write("<td width='40' class='menuFont' align='center' onclick=''></td>" & chr(13))
response.write("<td>&nbsp;</td></tr></table></td></tr>" & chr(13))
response.write("<tr id='subMenu0'>" & chr(13) & "<td colspan='2'>" & chr(13))
'此处调用显示目录树的递归函数
listChild(0)
response.write("</td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13))


'下面代码为显示目录树最关键的函数,使用了递归方法(很多象这样类型的都是用递归来做的。)
function listChild(id)
dim sRec,sSql,sNum,sTmp
set sRec=server.createobject("adodb.recordset")
sSql="select listId,listName,listInfo,parentId from listTable where parentId=" & id
sRec.open sSql,sConn,3,1
if not sRec.eof then
sNum=1
response.write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))
while not sRec.eof
sTmp=sConn.execute("select count(listId) as countSub from listTable where parentId=" & sRec("listId"))
if sTmp("countSub")>0 then
response.write("<tr>" & chr(13))
if sNum=sRec.recordcount then
response.write("<td width='18' valign='top'><img src='images/angel.gif'></td>" & chr(13))
else
response.write("<td width='18' background='images/eline.gif' valign='top'><img src='images/t.gif' ></td>" & chr(13))
end if
response.write("<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))
response.write("<tr>" & chr(13) & "<td width='118' class='menuPro' id='listName" & sRec("listId") & "'><img id='img" & sRec("listId") & "' style='cursor:hand' src='images/close.gif' align='absMiddle' onclick='jscript:showMenu(subMenu" & sRec("listId") & ",1)' alt='" & sRec("listInfo") & "'>" & server.HTMLEncode(sRec("listName")) & "</td>" & chr(13) & "<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('add'," & sRec("listId") & ")"">添加</div></td><td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('edit'," & sRec("listId") & ")"">编辑</div></td>" & chr(13))
response.write("<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:window.location='disp.asp?disp=del&parentId=" & sRec("listId") & "'"">删除 </div></td>" & chr(13) & "<td>&nbsp;</td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13) & "</td>" & chr(13) & "</tr>" & chr(13))
response.write("<tr id='subMenu" & sRec("listId") &"' style='display:none'>")
if sNum=sRec.recordcount then
response.write("<td width='18' valign='top'")
response.write("<img src='images/angel.gif' >")
response.write("</td>" & chr(13))
else
response.write("<td width='18' valign='top' background='images/eline.gif'>")
response.write("</td>" & chr(13))
end if
response.write("<td>" & chr(13))
listChild(sRec("listid"))
response.write("</td>" & chr(13) & "</tr>" & chr(13))
else
response.write("<tr>" & chr(13))
if sNum=sRec.recordcount then
response.write("<td width='18' valign='top'><img src='images/angel.gif'></td>" & chr(13))
else
response.write("<td width='18' background='images/eline.gif' valign='top'><img src='images/t.gif' ></td>" & chr(13))
end if
response.write("<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))
response.write("<tr>" & chr(13) & "<td width='118' class='menuPro' id='listName" & sRec("listId") & "'><img id='img" & sRec("listId") & "' src='images/file.gif' align='absMiddle' alt='" & sRec("listInfo") & "'>" & server.HTMLEncode(sRec("listName")) & "</td>" & chr(13) & "<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('add'," & sRec("listId") & ")"">添加</div></td><td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('edit'," & sRec("listId") & ")"">编辑</div></td>" & chr(13))
response.write("<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:window.location='disp.asp?disp=del&parentId=" & sRec("listId") & "'"">删除</div></td>" & chr(13) & "<td>&nbsp;</td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13) & "</td>" & chr(13) & "</tr>" & chr(13))
end if
sRec.movenext
sNum=sNum+1
wend
response.write("</table>" & chr(13))
end if
sRec.close '关闭记录集
set sRec=nothing '关闭记录集
end function
sConn.close '关闭数据库链接
set sConn=nothing '关闭数据库链接
%>

  • 上一篇文章: 初学ASP编程的问题及解决办法

  • 下一篇文章: 如何利用ASP把图片上传到数据库
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • Knoppix 4.0.2 免硬盘免安…[15797]

  • 通过ASP记录进行分页[20012]

  • ASP开发准则[11932]

  • ASP组件指南[11943]

  • ASP指南[11968]

  •  
     最新5篇推荐文章
  • Knoppix 4.0.2 免硬盘免安…[15797]

  • 如何让Win 2003系统更加安…[13301]

  • Nero超刻简明教程[34139]

  • PS商业实战-来杯茶,行吗?…[7255]

  • ASP深度揭密(下)[12555]

  •  
     相 关 文 章
    没有相关文章

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 关于我们 | 联系我们 | 友情链接 | 版权声明 | 管理登录
    Copyright © 2000-2022 Yicong.com.All Rights Reserved.
    亿聪 版权所有 E-mail: