西安 大雁塔 花店:ASP和Access结合实现编写目录树的程序实例_深度学习 特首空间
来源:百度文库 编辑:九乡新闻网 时间:2024/04/21 00:39:14
利用Accss创建数据库listBase.mdb:
数据表:listTable
数据字段:listIdlistNamelistInfoparentId
连接方法:
<%
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
<%
response.write("
" & chr(13) & "
| |||||
" & chr(13)) '此处调用显示目录树的递归函数 listChild(0) response.write(" | " & 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("
background='images/eline.gif' valign='top'> | " & chr(13))" & chr(13) & "
| " ||||||
" & chr(13) & "
| " & chr(13) & "
end if
sRec.close '关闭记录集
set sRec=nothing '关闭记录集
end function
sConn.close '关闭数据库链接
set sConn=nothing '关闭数据库链接
%>
下面这是调用页代码,保存成index.asp
<%@LANGUAGE='VBSCRIPT' CODEPAGE='936'%>
marginwidth="0" marginheight="0">
下面是提交信息处理页的代码,保存为disp.asp
<%
function checkstr(str)
str=replace(str,"'","''",1,-1,1)
checkstr=str
end function
dim disp,parentId,listName,listInfo
disp=request.QueryString("disp")
parentId=request.QueryString("parentId")
select case disp
case "add"
listName=checkstr(left(request.QueryString("listName"),10))
listInfo=checkstr(left(request.QueryString("listInfo"),50))
if listName="" then listName="空白节点"
if listInfo="" then ListInfo="此节点在添加入未填写内容"
sSql="insert into listTable (listName,listInfo,parentId)
values('" & listName & "','" & listInfo & "'," & parentId & ")"
case "edit"
listName=checkstr(left(request.QueryString("listName"),10))
listInfo=checkstr(left(request.QueryString("listInfo"),50))
if listName="" then listName="空白节点"
if listInfo="" then listInfo="此节点在添加入未填写内容"
sSql="update listTable set listName='" & listName & "',
listInfo='" & listInfo & "' where listId=" & parentId
case "del"
sSql="delete from listTable where listId=" & parentId & "
or parentId=" & parentId
end select
sConn.execute sSql,,1
response.redirect("index.asp")
%>
以上代码保存成的文件放在同一目录下面
(在这里我们称为根目录)。
在根目录下新建一个CSS目录。
下面为CSS定义,保存成css.css文件,放在CSS目录下。
注:有一两个样式是不要的,我没删
.menuPro {
border-top: 1px dotted #A5BBE0;
border-right: 1px dotted #31548E;
border-bottom: 1px dotted #31548E;
border-left: 1px dotted #A5BBE0;
overflow: visible;
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
font-size: 12px;
}
.menuGro {
border-top: 2px outset #31548E;
border-right: 2px outset #A5BBE0;
border-bottom: 2px outset #A5BBE0;
border-left: 2px outset #31548E;
overflow: visible;
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
font-size: 12px;
}
.menuFont {
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
font-size: 12px;
}
.showDiv {
display:'';
}
.hiddenDiv {
display:none;
}
.treeDiv {
background-color: #A8D5EA;
height: 100%;
width: 100%;
border-top-width: 2px;
border-right-width: 2px;
border-bottom-width: 2px;
border-left-width: 2px;
border-top-style: inset;
border-right-style: inset;
border-bottom-style: inset;
border-left-style: inset;
border-top-color: #3680C9;
border-right-color: #BCD5ED;
border-bottom-color: #BCD5ED;
border-left-color: #3680C9;
overflow: auto;
padding: 20px;
}
body {
overflow: hidden;
}
.formDiv {
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
font-size: 12px;
font-weight: normal;
background-color: #7ABDDE;
height: 200px;
width: 300px;
border-top: 1px outset #B9DCFF;
border-right: 1px outset #004488;
border-bottom: 1px outset #004488;
border-left: 1px outset #B9DCFF;
overflow: hidden;
}
.text1 {
width: 160px;
}
.DivBut {
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
font-size: 12px;
font-weight: normal;
background-color: #3399CC;
height: 20px;
width: 40px;
border: 1px outset;
}