<%
'连接数据库
set conn=server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("File.mdb")
'//----------操作分支
Action=Request("Action")
Select Case Action
Case "Add":If Request("ParentID")<>"" Then Add
Case "Del": Del
Case "Open":Open
Case Else:
End Select
'//----------显示列表
Public List
Set Rs=Conn.Execute("Select * From [List]")
If Not Rs.Eof Then
List =Rs.GetRows
Max=Conn.Execute("Select Count(ParentID) From List Where ParentID=0")(0)
Set Rs=Nothing
Set Conn=Nothing
CheckList 0,Max,""
Else
Set Rs=Nothing
Set Conn=Nothing
End If
Response.Write "添加根 "
'//------------显示列表函数
FuncTion CheckList(ParentID,Cs,Str1)
Dim j
j=0
For i=0 To Ubound(List,2)
If List(1,i)=ParentID Then
Response.write(Str1)
If j0 Then Str2=""&Str2&""
If List(5,i)>0 And List(4,i)=False Then Str2=""&Str2&""
Response.Write(Str2)
Response.Write ""&List(2,i)&" "&VBcrlf
'添加节点链接
Response.Write "添加"&Vbcrlf
Response.Write "删除 "
If List(4,i)=True Then
If j返回"
Response.End
Exit Function
End If
Sql="Insert Into List (ParentID,Title,Url,Target) Values ("&Parent&",'"&Title&"','"&Url&"',' "&Target&"')"
Conn.Execute(Sql)
If Parent<>0 Then
Sql="Update List Set ChildNum=ChildNum+1 Where ID="&Parent
Conn.Execute(Sql)
End IF
End Function
'//-----切换节点状态
Function Open
Sql="Update List Set Flag=Not Flag Where ID="&Clng(Request("Id"))
Conn.Execute(Sql)
End Function
'//-----------删除节点
Function Del
On Error Resume Next
Id=Clng(Request("ID"))
ParentID=Conn.Execute("Select ParentID From List Where ID="&ID)(0)
Num=Conn.Execute("Select Count(ID) From List Where parentID="&ID)(0)
Conn.Execute("Update List Set ChildNum=ChildNum-1+"&Num&" Where ID="&ParentID)
Conn.Execute("Update List Set ParentID="&ParentID&" Where ID in (Select ID From List Where ParentID="&ID&")")
Conn.Execute("Delete From List Where ID="&ID)
If Err.Number<>0 Then
Response.Write "您做的操作无效,可能是该项已经删除!! 返回"
Response.End
End If
End Function
%>
<%
'没有做美化,没有加其它功能,需要者可以自己改好了!
'Create Table List(ID AUTOINCREMENT,ParentID long,Title Text(50),Url Text(50),Flag bit,ChildNum Long,Target Text(10))
'直接在查询里执行就可以得到List表!!
'下面是对表的说明
'Id 自动编号
'ParentID 长整形
'Title 文本
'Url 文本
'Flag 布尔
'ChildNum 长整形
'Target 文本,允许空符串
%>