ASP无限级分类代码

数据库结构

表:分类


效果图


代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
'=======================================================
'程序名称:ASP无限级分类代码
'程序来源:阿里西西,www.alixixi.com
'程序说明:提供无限级分类的完整演示,带数据库。
'=======================================================
dim conn,connstr,rs
set conn=server.CreateObject("adodb.connection")
set rs=server.CreateObject("adodb.recordset")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("class.mdb")
conn.Open connstr


Dim ModuleID,ModuleName,SqlQueryNum,FoundErr,ErrMsg,SucMsg
Dim InstallDir
ModuleID = request("ModuleID")
ModuleName = "分类"
If ModuleID=0 Then ModuleID=1
Dim strClassDir,ClassDir,HtmlFileDir,ChannelDir,ChannelPath
Dim moduleidu
Directory = "article"
%>


<table  cellspacing="1" cellpadding="3" border="0">
  <tr>
    <td align="right"><a href="?ModuleID=1">模块1</a> | <a href="?ModuleID=2">模块2</a> | <a href="?ModuleID=3">模块3</a> </td>
  </tr>
  <tr>
    <td width="*" align="right"><a href="?ModuleID=<%=ModuleID%>">分类管理首页</a> | <a href="?action=add&ModuleID=<%=ModuleID%>">新建分类</a> | <a href="?action=Orders&ModuleID=<%=ModuleID%>">一级分类排序</a> | <a href="?action=classOrders&ModuleID=<%=ModuleID%>">N级分类排序</a> | <a href="?action=resume&ModuleID=<%=ModuleID%>"><font color="blue">分类恢复</font> </td>
  </tr>
</table>
<%
Dim Action,Directory




Action = LCase(Request("action"))
Select Case LCase(Action)
Case "savenew"
Call savenew()
Case "savedit"
Call savedit()
Case "add"
Call ClassAdd()
Case "edit"
Call ClassEdit()
Case "del"
Call DelClass()
Case "deldir"
Call DelClassDir()
Case "orders"
Call orders()
Case "neworders"
Call updateorders()
Case "restore"
Call RestoreClass()
Case "classorders"
Call classorders()
Case "newclassorders"
Call updateclassorders()
Case "resume"
Call ResumeClass()
Case Else
Call showmain()
End Select
If FoundErr = True Then
Response.write(ErrMsg)
End If


''显示主菜单
Sub showmain()
Dim Rs,SQL,i,iCount,lCount,AddContentLink
iCount=1:lCount=2
Response.Write " <table cellspacing=""1"" cellpadding=""2"">"
Response.Write " <tr>"
Response.Write " <th width=""40%"">分类名称</th>"
Response.Write " <th width=""40%"">管理选项</th>"
Response.Write "</tr>" & vbNewLine
'If Not IsObject(Conn) Then ConnectionDatabase
SQL = "SELECT * FROM Classify WHERE ModuleID="& ModuleID &" ORDER BY RootID,Orders"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open SQL, Conn, 1, 1
SqlQueryNum = SqlQueryNum + 1
If Rs.BOF And Rs.EOF Then
Response.Write " <tr> <td colspan=""3"">您还没有添加任何分类!</td></tr>"
End If
i = 0
Do While Not Rs.EOF
If (i mod 2) = 0 Then iCount=1:lCount=2 Else iCount=2:lCount=1
Response.Write " <tr>"
Response.Write " <td>"
Response.Write " "
If Rs("Depth") = 1 Then Response.Write "&nbsp;&nbsp;<font color=""#666666"">├</font>"
If Rs("Depth") > 1 Then
For i = 2 To Rs("Depth")
Response.Write "&nbsp;&nbsp;<font color=""#666666"">│</font>"
Next
Response.Write "&nbsp;&nbsp;<font color=""#666666"">├</font> "
End If
If Rs("ParentID") = 0 Then Response.Write ("<b>")
Response.Write Rs("ClassName")
If Rs("Child") > 0 Then Response.Write "(" & Rs("Child") & ")"
Response.Write " </td>" & vbNewLine
Response.Write " <td>"
Response.Write "<a href=""?action=add&ModuleID="&ModuleID&"&editid="
Response.Write Rs("ID")
Response.Write """>添加分类</a>"
Response.Write " | <a href=""?action=edit&ModuleID="&ModuleID&"&editid="
Response.Write Rs("ID")
Response.Write """>编辑分类</a>"
Response.Write " |"
Response.Write " "
If Rs("Child") < 1 Then
Response.Write " <a href=""?action=del&ModuleID="&ModuleID&"&editid="
Response.Write Rs("ID")
Response.Write """ οnclick=""return confirm('删除将包括该分类的所有文章,确定删除吗?')"">删除分类</a>"
Else
Response.Write " <a href=""#"" οnclick=""return confirm('该分类含有下属分类,必须先删除其下属分类方能删除本分类!')"">"
Response.Write " 删除分类</a>"
End If
Response.Write " </td>" & vbNewLine
Response.Write "</tr>" & vbNewLine
Rs.movenext
i = i + 1
Loop
Rs.Close
Set Rs = Nothing
Response.Write " <tr>"
Response.Write "<td colspan=""3"" class=""tablerow"&lCount&""">"
Response.Write "&nbsp;</td>"
Response.Write "</tr></form>"
Response.Write "</table>"
End Sub


''添加新类
Sub ClassAdd()
Dim NewID
Dim Rs,SQL,i,TitleColor
SQL = "SELECT MAX(ID) FROM Classify"
Set Rs = Conn.Execute(SQL)
If Rs.BOF And Rs.EOF Then
NewID = 1
Else
NewID = Rs(0) + 1
End If
If IsNull(NewID) Then NewID = 1
Rs.Close
%>
<table border="0" cellpadding="3" cellspacing="1">
  <tr>
    <th colspan="2">添加分类</th>
  </tr>
  <form name="myform" method="POST" action="?action=savenew">
    <input type="hidden" name="NewID" value="<%=NewID%>">
    <input type="hidden" name="ModuleID" value="<%=ModuleID%>">
    <tr>
      <td width="20%"><strong>分类名称:</strong></td>
      <td width="80%"><input type="text" name="ClassName" id="ClassName" size="35">
      </td>
    </tr>
    <tr>
      <td><strong>分类注释:</strong></td>
      <td><input type="text" name="Readme" size="60">
      </td>
    </tr>
    <tr>
      <td><strong>所属分类:</strong></td>
      <td><%
Response.Write " <select name=""class"">"
Response.Write "<option value=""0"">做为一级分类</option>"
SQL = "SELECT ID,Depth,ClassName FROM Classify WHERE ModuleID = "& ModuleID &" ORDER BY RootID,Orders"
Set Rs = Conn.Execute(SQL)
Do While Not Rs.EOF
Response.Write "<option value=""" & Rs("ID") & """ "
If Request("editid") <> "" And CLng(Request("editid")) = Rs("ID") Then Response.Write "selected"
Response.Write ">"
If Rs("Depth") = 1 Then Response.Write "&nbsp;&nbsp;├ "
If Rs("Depth") > 1 Then
For i = 2 To Rs("Depth")
Response.Write "&nbsp;&nbsp;│"
Next
Response.Write "&nbsp;&nbsp;├ "
End If
Response.Write Rs("ClassName") & "</option>" & vbCrLf
Rs.movenext
Loop
Rs.Close
Response.Write "</select>"
Set Rs = Nothing
%>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><p>
          <input type="button" οnclick="javascript:history.go(-1)" value="返回上一页" name="B1" class=button>
          &nbsp;&nbsp;
          <input type="submit" value="保存设置" name="B2" class="button">
      </td>
    </tr>
  </form>
</table>
<%
End Sub
'编辑类
Sub ClassEdit()
Dim Rs,SQL,RsObj,i,TitleColor
Set Rs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = " & ModuleID & " And ID = " & Request("editid"))
If Rs.BOF And Rs.EOF Then
FoundErr = True
ErrMsg = "数据库出现错误,没有此站点栏目!"
Rs.Close
Set Rs = Nothing
Exit Sub
End If
%>
<table border="0" cellpadding="3" cellspacing="1">
  <tr>
    <th colspan="2">编辑分类</th>
  </tr>
  <form name="myform" method="POST" action="?action=savedit">
    <input type="hidden" name="editid" value="<%=Request("editid")%>">
    <input type="hidden" name="ModuleID" value="<%=ModuleID%>">
    <tr>
      <td width="20%"><strong>分类名称:</strong></td>
      <td width="80%"><input type="text" name="ClassName" id="ClassName" size="35" value="<%=Rs("ClassName")%>">
      </td>
    </tr>
    <tr>
      <td><strong>分类注释:</strong></td>
      <td><input type="text" name="Readme" size="60" value="<%=Rs("Readme")%>">
      </td>
    </tr>
    <tr>
      <td><strong>所属分类:</strong></td>
      <td><%
Response.Write " <select name=""class"">"
Response.Write "<option value=""0"">做为一级分类</option>"
SQL = "SELECT ID,Depth,ClassName FROM Classify WHERE ModuleID = "& ModuleID &" ORDER BY RootID,Orders"
Set RsObj = Conn.Execute(SQL)
Do While Not RsObj.EOF
Response.Write "<option value=""" & RsObj("ID") & """ "
If CLng(Rs("ParentID")) = RsObj("ID") Then Response.Write "selected"
Response.Write ">"
If RsObj("Depth") = 1 Then Response.Write "&nbsp;&nbsp;├ "
If RsObj("Depth") > 1 Then
For i = 2 To RsObj("Depth")
Response.Write "&nbsp;&nbsp;│"
Next
Response.Write "&nbsp;&nbsp;├ "
End If
Response.Write RsObj("ClassName") & "</option>" & vbCrLf
RsObj.movenext
Loop
RsObj.Close
Response.Write "</select>"
Set RsObj = Nothing
%>
      </td>
    </tr>
    <tr>
      <td> </td>
      <td><p>
          <input type="button" οnclick="javascript:history.go(-1)" value="返回上一页" name="B1" class=button>
          &nbsp;&nbsp;
          <input type="submit" value="保存设置" name="B2" class="button">
      </td>
    </tr>
  </form>
</table>
<%
Set Rs = Nothing
End Sub
'检查
Sub CheckSave()
If Trim(Request("ClassName")) = "" Then
ErrMsg = ErrMsg + "<li>请输入分类名称。</li>"
Founderr = True
End If
If Not IsNumeric(Request("class")) Then
ErrMsg = ErrMsg + "<li>请选择所属分类。</li>"
Founderr = True
End If
If Trim(Request("Readme")) = "" Then
ErrMsg = ErrMsg + "<li>请输入分类说明。</li>"
Founderr = True
End If
If Len(Request.Form("ClassName")) => 25 Then
FoundErr = True
ErrMsg = ErrMsg + "<li>分类名称名称不能超过50个字符!</li>"
End If
If Len(Request.Form("Readme")) => 200 Then
FoundErr = True
ErrMsg = ErrMsg + "<li>栏目注释不能超过200个字符!</li>"
End If


End Sub
'保存新类
Sub savenew()
Dim ID,RootID,ParentID,Depth,Orders
Dim MaxRootID,ParentStr,ChildStr,newOrders
Dim Rs,SQL
'保存添加分类信息
CheckSave
If Founderr = True Then Exit Sub
If Request("class") <> "0" Then
SQL = "SELECT RootID,ID,Depth,Orders,ParentStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("class")
Set Rs = Conn.Execute (SQL)
RootID = Rs(0)
ParentID = Rs(1)
Depth = Rs(2)
Orders = Rs(3)
If Depth + 1 > 20 Then
ErrMsg = "<li>本系统限制最多只能有20级子分类</li>"
Founderr = True
Exit Sub
End If
ParentStr = Rs(4)
Rs.Close
Else
SQL = "SELECT MAX(RootID) FROM Classify WHERE ModuleID = "& ModuleID
Set Rs = Conn.Execute (SQL)
MaxRootID = Rs(0) + 1
If IsNull(MaxRootID) Then MaxRootID = 1
Rs.Close
End If
SQL = "SELECT ID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("newID")
Set Rs = Conn.Execute (SQL)
If Not (Rs.EOF And Rs.BOF) Then
ErrMsg = "<li>您不能指定和别的分类一样的序号。</li>"
Founderr = True
Exit Sub
Else
ID = Request("newID")
End If
Rs.Close
Set Rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Classify"
Rs.Open SQL, Conn, 1, 3
Rs.addnew
If Request("class") <> "0" Then
Rs("Depth") = Depth + 1
Rs("RootID") = RootID
Rs("ParentID") = Request.Form("class")
If ParentStr = "0" Then
Rs("ParentStr") = Request.Form("class")
Else
Rs("ParentStr") = ParentStr & "," & Request.Form("class")
End If
Else
Rs("Depth") = 0
Rs("RootID") = MaxRootID
Rs("ParentID") = 0
Rs("ParentStr") = 0
End If
Rs("ModuleID") = ModuleID
Rs("Child") = 0
Rs("ChildStr") = Trim(Request.Form("newID"))
Rs("ID") = Request.Form("newID")
Rs("Orders") = Request.Form("newID")
Rs("ClassName") = Trim(Request.Form("ClassName"))
Rs("Readme") = Trim(Request.Form("Readme"))
Rs("ShowCount") = 0
Rs.Update
Rs.Close
If Request("class") <> "0" Then
Dim nID
ParentStr = ParentStr & "," & Request.Form("class")
nID = Trim(Request.Form("newID"))
SQL = "SELECT ID,ParentStr,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & ParentStr & ")"
Set Rs = Conn.Execute (SQL)
Do While Not Rs.EOF
ChildStr = Rs("ChildStr") & "," & nID
Conn.Execute ("UPDATE Classify SET ChildStr='"&ChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rs("ID"))
Rs.movenext
Loop
Rs.Close
End If
CheckAndFixClass 0,1

SucMsg = "<li>恭喜您!分类添加成功。</li>"
Set Rs = Nothing
response.write(SucMsg)


End Sub
'保存编辑分类信息
Sub savedit()
Dim newID,MaxRootID,ParentID,Depth,Child
Dim ParentStr,RootID,iParentID,iParentStr
Dim trs,brs,mrs,Rsc,Rss,k
Dim nParentStr,mParentStr,ParentSql,ChildStr,nChildStr
Dim ArrChildStr,ii,ClassCount
Dim Rs,SQL,i
'保存编辑分类信息
If CLng(Request("editid")) = CLng(Request("class")) Then
ErrMsg = "<li>所属分类不能指定自己</li>"
Founderr = True
Exit Sub
End If
CheckSave
If Founderr = True Then Exit Sub
Set Rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid")
Rs.Open SQL, Conn, 1, 3
newID = Rs("ID")
ParentID = Rs("ParentID")
iParentID = Rs("ParentID")
ParentStr = Rs("ParentStr")
ChildStr = Rs("ChildStr")
Depth = Rs("Depth")
Child = Rs("Child")
RootID = Rs("RootID")
If Child <> 0 And LCase(ClassDir) <> LCase(strClassDir) Then
ErrMsg = "<li>对不起!该分类中有下属分类不能修改分类目录!</li>"
Founderr = True
Exit Sub
End If
If Child <> 0 And ParentID <> Clng(Request("class")) Then
ErrMsg = "<li>对不起!该分类中有下属分类不能移动,请先移动其下属分类。</li>"
Founderr = True
Exit Sub
End If


If ParentID = 0 Then
If CLng(Request("class")) <> 0 Then
Set trs = Conn.Execute("SELECT RootID,TurnLink FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("class"))
If RootID = trs(0) Then
ErrMsg = "<li>您不能指定该分类的下属分类作为所属分类</li>"
Founderr = True
Exit Sub
End If
If trs(1) = 1 Then
ErrMsg = "<li>该分类是外部连接,您不能指定该分类作为所属分类</li>"
Founderr = True
Exit Sub
End If
End If
Else
Set trs = Conn.Execute("SELECT ID FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%' and ID=" & Request("class"))
If Not (tRs.EOF And tRs.BOF) Then
ErrMsg = "<li>您不能指定该分类的下属分类作为所属分类</li>"
Founderr = True
Exit Sub
End If
End If
If ParentID = 0 Then
ParentID = Rs("ID")
iParentID = 0
End If
Rs("ClassName") = Trim(Request.Form("ClassName"))
Rs("Readme") = Trim(Request.Form("Readme"))
Rs.Update
Rs.Close
Set Rs = Nothing
Set mrs = Conn.Execute("SELECT MAX(RootID) FROM Classify WHERE ModuleID="& ModuleID)
MaxRootID = mrs(0) + 1
'假如更改了所属分类
'需要更新其原来所属分类信息,包括深度、父级ID、分类数、排序
'需要更新当前所属分类信息
If CLng(ParentID) <> CLng(Request("class")) And Not (iParentID = 0 And CInt(Request("class")) = 0) Then
'如果原来不是一级分类改成一级分类
If iParentID > 0 And CInt(Request("class")) = 0 Then
'如果不是一级分类改成一级分类,更新子分类数据
'开始更新子分类
'ChildStr = "," & ChildStr
Set Rsc = Conn.Execute ("SELECT ID,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & ParentStr & ")")
Do While Not Rsc.EOF
ArrChildStr = Split(Rsc("ChildStr"), ",")
nChildStr = ""
For ii = 0 to Ubound(ArrChildStr)
If ArrChildStr(ii) <> ChildStr Then
nChildStr = nChildStr & ArrChildStr(ii) & Chr(32)
End If
Next
nChildStr = Replace(Trim(nChildStr), Chr(32), ",")
'nChildStr = Replace(Rsc("ChildStr"), ChildStr, "")
Conn.Execute ("UPDATE Classify SET ChildStr='" & nChildStr & "' WHERE ModuleID = "& ModuleID &" And ID = " & Rsc("ID"))
Rsc.movenext
Loop
Rsc.Close
Set Rsc = Nothing
'更新子分类结束
'---------------------------------------------------
'更新当前分类数据
Conn.Execute ("UPDATE Classify set Depth=0,Orders=0,RootID=" & MaxRootID & ",ParentID=0,ParentStr='0' WHERE ID=" & newID)
ParentStr = ParentStr & ","
Set Rs = Conn.Execute("SELECT COUNT(ID) FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%'")
ClassCount = Rs(0)
If IsNull(ClassCount) Then
ClassCount = 1
Else
ClassCount = ClassCount + 1
End If
'更新其原来所属分类数
Conn.Execute ("UPDATE Classify SET Child=Child-" & ClassCount & " WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
'更新其原来所属分类数据,排序相当于剪枝而不需考虑
For i = 1 To Depth
'得到其父类的父类的ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
If Not (Rs.EOF And Rs.BOF) Then
iParentID = Rs(0)
Conn.Execute ("UPDATE Classify SET Child=Child-" & ClassCount & " WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
End If
Next
If Child > 0 Then
'更新其下属分类数据
'有下属分类,排序不需考虑,更新下属分类深度和一级排序ID(RootID)数据
'更新当前分类数据
i = 0
Set Rs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr LIKE '%" & ParentStr & "%'")
Do While Not Rs.EOF
i = i + 1
mParentStr = Replace(Rs("ParentStr"), ParentStr, "")
Conn.Execute ("UPDATE Classify SET Depth=Depth-" & Depth & ",RootID=" & MaxRootID & ",ParentStr='" & mParentStr & "' WHERE ModuleID = "& ModuleID &" And ID=" & Rs("ID"))
Rs.movenext
Loop
End If
'------------------------------------------------------
ElseIf iParentID > 0 And CInt(Request("class")) > 0 Then
'将一个分类移动到其他分类下
'开始更新子分类
'ChildStr = "," & ChildStr
Set Rsc = Conn.Execute ("SELECT ID,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & ParentStr & ")")
Do While Not Rsc.EOF
ArrChildStr = Split(Rsc("ChildStr"), ",")
nChildStr = ""
For ii = 0 to Ubound(ArrChildStr)
If ArrChildStr(ii) <> ChildStr Then
nChildStr = nChildStr & ArrChildStr(ii) & Chr(32)
End If
Next
nChildStr = Replace(Trim(nChildStr), Chr(32), ",")
'nChildStr = Replace(Rsc("ChildStr"), ChildStr, "")
Conn.Execute ("UPDATE Classify SET ChildStr='" & nChildStr & "' WHERE ModuleID = "& ModuleID &" And ID = " & Rsc("ID"))
Rsc.movenext
Loop
Rsc.Close
Set Rsc = Nothing
'更新子分类结束
'-----------------------------------------------------------
'获得所指定的分类的相关信息
Set trs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("class"))
'得到其下属分类数
ParentStr = ParentStr & ","
Set Rs = Conn.Execute("SELECT COUNT(ID) FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%'")
ClassCount = Rs(0)
If IsNull(ClassCount) Then ClassCount = 1
'在获得移动过来的分类数后更新排序在指定分类之后的分类排序数据
Conn.Execute ("UPDATE Classify SET Orders=Orders + " & ClassCount & " + 1 WHERE RootID=" & trs("RootID") & " and Orders>" & trs("Orders") & "")
'更新当前分类数据
Conn.Execute ("UPDATE Classify SET Depth=" & trs("Depth") & "+1,Orders=" & trs("Orders") & "+1,RootID=" & trs("RootID") & ",ParentID=" & Request("class") & ",ParentStr='" & trs("ParentStr") & "," & trs("ID") & "' WHERE ModuleID = "& ModuleID &" And ID=" & newID)
i = 1
'如果有则更新下属分类数据
'深度为原有深度加上当前所属分类的深度
Set Rs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%' ORDER BY Orders")
Do While Not Rs.EOF
i = i + 1
iParentStr = trs("ParentStr") & "," & trs("ID") & "," & Replace(Rs("ParentStr"), ParentStr, "")
Conn.Execute ("UPDATE Classify SET Depth=Depth+" & trs("Depth") & "-" & Depth & "+1,Orders=" & trs("Orders") & "+" & i & ",RootID=" & trs("RootID") & ",ParentStr='" & iParentStr & "' WHERE ModuleID = "& ModuleID &" And ID=" & Rs("ID"))
Rs.movenext
Loop
ParentID = Request("class")
If RootID = trs("RootID") Then
'在同一分类下移动
'更新所指向的上级分类数,i为本次移动过来的分类数
'更新其父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & i & " WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and ID=" & ParentID)
For k = 1 To trs("Depth")
'得到其父类的父类的分类ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and ID=" & ParentID)
If Not (Rs.EOF And Rs.BOF) Then
ParentID = Rs(0)
'更新其父类的父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & i & " WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and  ID=" & ParentID)
End If
Next
'更新其原父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child-" & i & " WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and ID=" & iParentID)
'更新其原来所属分类数据
For k = 1 To Depth
'得到其原父类的父类的分类ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and ID=" & iParentID)
If Not (Rs.EOF And Rs.BOF) Then
iParentID = Rs(0)
'更新其原父类的父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child-" & i & " WHERE ModuleID = "& ModuleID &" And (not ParentID=0) and  ID=" & iParentID)
End If
Next
Else
'更新所指向的上级分类数,i为本次移动过来的分类数
'更新其父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
For k = 1 To trs("Depth")
'得到其父类的父类的分类ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
If Not (Rs.EOF And Rs.BOF) Then
ParentID = Rs(0)
'更新其父类的父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
End If
Next
'更新其原父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child-" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
For k = 1 To Depth
'得到其原父类的父类的分类ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
If Not (Rs.EOF And Rs.BOF) Then
iParentID = Rs(0)
'更新其原父类的父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child-" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & iParentID)
End If
Next
End If
'-----------------------------------------------
'开始更新子分类
SQL = "SELECT ID,ParentID,ParentStr,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("class")
Set Rss = Conn.Execute (SQL)
If Rss("ParentID") <> 0 Then
'如果是一级分类移动到其它一级分类的子分类
nChildStr = Rss("ChildStr") & "," & Request("editid")
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rss("ID"))
SQL = "SELECT ID,ParentStr,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & Rss("ParentStr") & ")"
Set Rsc = Conn.Execute (SQL)
Do While Not Rsc.EOF
nChildStr = Rsc("ChildStr") & "," & Request("editid")
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rsc("ID"))
Rsc.movenext
Loop
Rsc.Close
Set Rsc = Nothing
Else
'如果是一级分类移动到其它一级分类,执行以下更新
nChildStr = Rss("ChildStr") & "," & Request("editid")
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rss("ID"))
End If
Rss.Close
Set Rss = Nothing
'更新子分类结束
Else
'如果原来是一级分类改成其他分类的下属分类
'更新一级分类的子分类
'开始更新子分类
SQL = "SELECT ID,ParentID,ParentStr,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & CLng(Request("class"))
Set Rss = Conn.Execute (SQL)
If Rss("ParentID") <> 0 Then
'如果是一级分类移动到其它一级分类的子分类
nChildStr = Rss("ChildStr") & "," & ChildStr
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rss("ID"))
SQL = "SELECT ID,ParentStr,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & Rss("ParentStr") & ")"
Set Rsc = Conn.Execute (SQL)
Do While Not Rsc.EOF
nChildStr = Rsc("ChildStr") & "," & ChildStr
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rsc("ID"))
Rsc.movenext
Loop
Rsc.Close
Set Rsc = Nothing
Else
'如果是一级分类移动到其它一级分类,执行以下更新
nChildStr = Rss("ChildStr") & "," & ChildStr
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rss("ID"))
End If
Rss.Close
Set Rss = Nothing
'更新子分类结束
'---------------------------------------------------
'得到所指定的分类的相关信息
Set trs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & CLng(Request("class")))
Set Rs = Conn.Execute("SELECT COUNT(ID) FROM Classify WHERE ModuleID = "& ModuleID &" And RootID=" & RootID)
ClassCount = Rs(0)
Rs.Close
'更新所指向的上级分类数,i为本次移动过来的分类数
ParentID = Request("class")
'更新其父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & ClassCount & " WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
For k = 1 To trs("Depth")
'得到其父类的父类的分类ID
Set Rs = Conn.Execute("SELECT ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
If Not (Rs.EOF And Rs.BOF) Then
ParentID = Rs(0)
'更新其父类的父类分类数
Conn.Execute ("UPDATE Classify SET Child=Child+" & ClassCount & " WHERE ModuleID = "& ModuleID &" And ID=" & ParentID)
End If


Next
'在获得移动过来的分类数后更新排序在指定分类之后的分类排序数据
Conn.Execute ("UPDATE Classify SET Orders=Orders + " & ClassCount & " + 1 WHERE ModuleID = "& ModuleID &" And RootID=" & trs("RootID") & " and Orders>" & trs("Orders") & "")
i = 0
Set Rs = Conn.Execute("SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And RootID=" & RootID & " ORDER BY Orders")
Do While Not Rs.EOF
i = i + 1
If Rs("ParentID") = 0 Then
If trs("ParentStr") = "0" Then
ParentStr = trs("ID")
Else
ParentStr = trs("ParentStr") & "," & trs("ID")
End If
Conn.Execute ("UPDATE Classify SET Depth=Depth+" & trs("Depth") & "+1,Orders=" & trs("Orders") & "+" & i & ",RootID=" & trs("RootID") & ",ParentStr='" & ParentStr & "',ParentID=" & CLng(Request("class")) & " WHERE ModuleID = "& ModuleID &" And ID=" & Rs("ID"))
Else
If trs("ParentStr") = "0" Then
ParentStr = trs("ID") & "," & Rs("ParentStr")
Else
ParentStr = trs("ParentStr") & "," & trs("ID") & "," & Rs("ParentStr")
End If
Conn.Execute ("UPDATE Classify SET Depth=Depth+" & trs("Depth") & "+1,Orders=" & trs("Orders") & "+" & i & ",RootID=" & trs("RootID") & ",ParentStr='" & ParentStr & "' WHERE ModuleID = "& ModuleID &" And ID=" & Rs("ID"))
End If
Rs.movenext
Loop
'------------------------------------
End If
End If
Set Rs = Nothing
Set mrs = Nothing
Set trs = Nothing


CheckAndFixClass 0,1
SucMsg = "<li>恭喜您!分类修改成功。</li>"
response.write(SucMsg)


End Sub


Sub DelClass()
Dim ChildStr,nChildStr
Dim Rss,Rsc
Dim Rs,SQL
'On Error Resume Next
Set Rs = Conn.Execute("SELECT ParentStr,Child,Depth,ParentID FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid"))
If Not (Rs.EOF And Rs.BOF) Then
If Rs(1) > 0 Then
ErrMsg = "<li>该分类含有下属分类,请删除其下属分类后再进行删除本分类的操作</li>"
Founderr = True
Exit Sub
End If
If Rs(3) > 0 Then
ChildStr = "," & Request("editid")
SQL = "SELECT ID,ParentStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid")
Set Rss = Conn.Execute (SQL)
SQL = "SELECT ID,ChildStr FROM Classify WHERE ModuleID = "& ModuleID &" And ID in (" & Rss("ParentStr") & ")"
Set Rsc = Conn.Execute (SQL)
Do While Not Rsc.EOF
nChildStr = Replace(Rsc("ChildStr"), ChildStr, "")
Conn.Execute ("UPDATE Classify SET ChildStr='"&nChildStr&"' WHERE ModuleID = "& ModuleID &" And ID = " & Rsc("ID"))
Rsc.movenext
Loop
Rsc.Close
Set Rsc = Nothing
Set Rss = Nothing
End If
If Rs(2) > 0 Then
Conn.Execute ("UPDATE Classify set Child=Child-1 WHERE ModuleID = "& ModuleID &" And ID in (" & Rs(0) & ")")
End If
SQL = "DELETE FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid")
Conn.Execute (SQL)
Call DelRelated
End If
Set Rs = Nothing
Conn.Execute("UPDATE Classify SET Child=0 WHERE ModuleID="& ModuleID &" And Child<0")
CheckAndFixClass 0,1

response.write ("恭喜您!分类删除成功。")
End Sub


Sub ResumeClass()
CheckAndFixClass 0,1
Response.Redirect Request.ServerVariables("HTTP_REFERER")
End Sub


Sub CheckAndFixClass(ParentID,Orders)
Dim Rs,Child,ParentStr
If ParentID=0 Then
Conn.Execute("UPDATE Classify SET Depth=0,ParentStr='0' WHERE ModuleID="& ModuleID &" And ParentID=0")
End If
Set Rs=Conn.Execute("SELECT ID,RootID,ParentStr,Depth FROM Classify WHERE ModuleID="& ModuleID &" And ParentID="&ParentID&" ORDER BY RootID,Orders")
Do while Not Rs.EOF
If Rs(2)<>"0" Then
ParentStr=Rs(2)&","&Rs(0)
Else
ParentStr=Rs(0)
End If
Conn.Execute "UPDATE Classify SET Depth="&Rs(3)+1&",ParentStr='"&ParentStr&"',RootID="&rs(1)&" WHERE ModuleID="& ModuleID &" And ParentID="&Rs(0)&"",Child
Conn.Execute("UPDATE Classify SET Child="&Child&",Orders="&Orders&" WHERE ModuleID="& ModuleID &" And ID="&Rs(0)&"")
Orders=Orders+1
CheckAndFixClass Rs(0),Orders
Rs.MoveNext
Loop
Set Rs=Nothing
End Sub


Sub DelRelated()
'On Error Resume Next
'删除该分类下的所有文章、评论或其它相关内容
End Sub


Sub DelClassDir()
'On Error Resume Next
'删除分类目录操作
response.write ("恭喜您!分类目录删除成功。")
End Sub


Sub Orders()
Dim Rs,SQL,i,iCount,lCount
Response.Write " <table border=""0"" cellspacing=""1"" cellpadding=""3"">" & vbCrLf
Response.Write " <tr>" & vbCrLf
Response.Write " <th colspan=""2"">分类一级分类重新排序修改(请在相应分类的排序表单内输入相应的排列序号) </th>"
Response.Write " </tr>" & vbCrLf
i=0:iCount=1:lCount=1
SQL = "SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" And ParentID=0 ORDER BY RootID"
Set Rs = Conn.Execute (SQL)
If Rs.BOF And Rs.EOF Then
ErrMsg = "<li>还没有相应的" & ModuleName & "分类。</li>"
Founderr = True
Exit Sub
Else
Do While Not Rs.EOF
If (i mod 2) = 0 Then iCount=1:lCount=2 Else iCount=2:lCount=1
Response.Write "<form action=""?action=newOrders"" method=""post""><tr>" & vbCrLf
Response.Write " <td align=""right"">"
Response.Write Rs("ClassName") & "</td>" & vbCrLf
Response.Write "<td><input type=""hidden"" name=""ModuleID"" value=""" & ModuleID & """><input type=""text"" name=""OrderID"" size=""4"" value=""" & Rs("RootID") & """><input type=""hidden"" name=""cID"" value=""" & Rs("RootID") & """>&nbsp;&nbsp;<input type=""submit"" name=""submit2"" class=""button"" value=""修 改""></td></tr></form>" & vbCrLf
Rs.movenext
i=i+1
Loop
End If
Rs.Close
Set Rs = Nothing
Response.Write " <tr><td class=""tablerow"&lCount&""" colspan=""2"">" & vbCrLf
Response.Write " <font color=""red"">请注意,这里一定<B>不能填写相同的序号</B>,否则非常难修复!</font></td>" & vbCrLf
Response.Write " </tr>" & vbCrLf
Response.Write "</table>" & vbCrLf
End Sub


Sub updateOrders()
Dim cID
Dim OrderID
Dim ClassName
Dim Rs
cID = Replace(Request.Form("cID"), "'", "")
OrderID = Replace(Request.Form("OrderID"), "'", "")
Set Rs = Conn.Execute("SELECT ID FROM Classify WHERE ModuleID = "& ModuleID &" And RootID=" & OrderID)
If Rs.BOF And Rs.EOF Then
response.write ("恭喜您!设置成功,请返回。")
Conn.Execute ("UPDATE Classify SET RootID=" & OrderID & " WHERE ModuleID = "& ModuleID &" And RootID=" & cID)
Else
ErrMsg = "<li>请不要和其他分类设置相同的序号</li>"
Founderr = True
Exit Sub
End If

Set Rs = Nothing
End Sub


Sub classOrders()
Dim Rs,i,SQL,iCount,lCount,n
Dim trs
Dim upOrders
Dim doOrders
n=0:iCount=1:lCount=2
Response.Write " <table border=""0"" cellspacing=""1"" cellpadding=""2"">" & vbCrLf
Response.Write " <tr>" & vbCrLf
Response.Write " <th colspan=""2"">分类N级分类重新排序修改(请在相应分类的排序表单内输入相应的排列序号)"
Response.Write " </th>"
Response.Write " </tr>" & vbCrLf
Set Rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Classify WHERE ModuleID = "& ModuleID &" ORDER BY RootID,Orders"
Rs.Open SQL, Conn, 1, 1
If Rs.BOF And Rs.EOF Then
Response.Write "还没有相应的分类。"
Else
Do While Not Rs.EOF
If (n mod 2) = 0 Then iCount=1:lCount=2 Else iCount=2:lCount=1
Response.Write "<form action=""?action=newclassOrders&ModuleID=" & ModuleID & """ method=""post""><tr><td width=""50%"">" & vbCrLf
If Rs("Depth") = 1 Then Response.Write "&nbsp;&nbsp;<font color=""#666666"">├</font>"
If Rs("Depth") > 1 Then
For i = 2 To Rs("Depth")
Response.Write "&nbsp;&nbsp;<font color=""#666666"">│</font>"
Next
Response.Write "&nbsp;&nbsp;<font color=""#666666"">├</font> "
End If
If Rs("ParentID") = 0 Then Response.Write ("<b>")
Response.Write Rs("ClassName")
If Rs("Child") > 0 Then Response.Write "(" & Rs("Child") & ")"
Response.Write "</td><td width=""50%"">" & vbCrLf
If Rs("ParentID") > 0 Then
Set trs = Conn.Execute("SELECT COUNT(*) FROM Classify WHERE ModuleID = "& ModuleID &" And ParentID=" & Rs("ParentID") & " And Orders<" & Rs("Orders") & "")
upOrders = trs(0)
If IsNull(upOrders) Then upOrders = 0


Set trs = Conn.Execute("SELECT COUNT(*) FROM Classify WHERE ModuleID = "& ModuleID &" And ParentID=" & Rs("ParentID") & " And Orders>" & Rs("Orders") & "")
doOrders = trs(0)
If IsNull(doOrders) Then doOrders = 0
If upOrders > 0 Then
Response.Write "<select name=""upOrders"" size=""1""><option value=""0"">↑</option>" & vbCrLf
For i = 1 To upOrders
Response.Write "<option value=""" & i & """>↑" & i & "</option>" & vbCrLf
Next
Response.Write "</select>"
End If
If doOrders > 0 Then
If upOrders > 0 Then Response.Write "&nbsp;"
Response.Write "<select name=""doOrders"" size=""1""><option value=""0"">↓</option>" & vbCrLf
For i = 1 To doOrders
Response.Write "<option value=""" & i & """>↓" & i & "</option>" & vbCrLf
Next
Response.Write "</select>" & vbCrLf
End If
If doOrders > 0 Or upOrders > 0 Then
Response.Write "<input type=""hidden"" name=""editID"" value=""" & Rs("ID") & """>&nbsp;<input type=""submit"" name=""submit2"" class=""button"" value=""修 改"">" & vbCrLf
End If
Else
Response.Write "&nbsp;"
End If
Response.Write "</td></tr></form>" & vbCrLf
upOrders = 0
doOrders = 0
Rs.movenext
n=n+1
Loop
End If
Rs.Close
Set Rs = Nothing
Response.Write "</table>"
End Sub


Sub updateclassOrders()
Dim ParentID,Orders,ParentStr,Child
Dim upOrders,doOrders,oldOrders
Dim trs,ii
Dim Rs,i
If Not IsNumeric(Request("editID")) Then
ErrMsg = ErrMsg & "<li>非法的参数!</li>"
Founderr = True
Exit Sub
End If
If Request("ModuleID") = "" Then
ErrMsg = ErrMsg & "<li>非法的系统参数!</li>"
Founderr = True
Exit Sub
End If
If Request("uporders") <> "" And Not CInt(Request("uporders")) = 0 Then
If Not IsNumeric(Request("uporders")) Then
ErrMsg = ErrMsg & "<li>非法的参数!</li>"
Founderr = True
Exit Sub
ElseIf CInt(Request("uporders")) = 0 Then
ErrMsg = ErrMsg & "<li>请选择要提升的数字!</li>"
Founderr = True
Exit Sub
End If
Set Rs = Conn.Execute("SELECT ParentID,orders,ParentStr,Child FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid"))
ParentID = Rs(0)
Orders = Rs(1)
ParentStr = Rs(2) & "," & Request("editid")
Child = Rs(3)
i = 0
If Child > 0 Then
Set Rs = Conn.Execute("SELECT COUNT(*) FROM Classify WHERE ModuleID="& ModuleID &" And ParentStr like '%" & ParentStr & "%'")
oldOrders = Rs(0)
Else
oldOrders = 0
End If


Set Rs = Conn.Execute("SELECT ID,Orders,Child,ParentStr FROM Classify WHERE ModuleID = "& ModuleID &" And ParentID=" & ParentID & " and Orders<" & Orders & " ORDER BY Orders desc")
Do While Not Rs.EOF
i = i + 1
If CInt(Request("upOrders")) >= i Then
If Rs(2) > 0 Then
ii = 0
Set trs = Conn.Execute("SELECT ID,Orders FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & Rs(3) & "," & Rs(0) & "%' ORDER BY Orders")
If Not (tRs.EOF And tRs.BOF) Then
Do While Not tRs.EOF
ii = ii + 1
Conn.Execute ("UPDATE Classify SET Orders=" & Orders & "+" & oldOrders & "+" & ii & " WHERE ModuleID = "& ModuleID &" And ID=" & trs(0))
trs.movenext
Loop
End If
End If
Conn.Execute ("UPDATE Classify SET Orders=" & Orders & "+" & oldOrders & " WHERE ModuleID = "& ModuleID &" And ID=" & Rs(0))
If CInt(Request("upOrders")) = i Then upOrders = Rs(1)
End If
Orders = Rs(1)
Rs.movenext
Loop


Conn.Execute ("UPDATE Classify SET Orders=" & upOrders & " WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid"))
If Child > 0 Then
i = upOrders
Set Rs = Conn.Execute("SELECT ID FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%' ORDER BY Orders")
Do While Not Rs.EOF
i = i + 1
Conn.Execute ("UPDATE Classify SET Orders=" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & Rs(0))
Rs.movenext
Loop
End If
Set Rs = Nothing
Set trs = Nothing
ElseIf Request("doOrders") <> "" Then
If Not IsNumeric(Request("doOrders")) Then
ErrMsg = ErrMsg & "<li>非法的参数!</li>"
Founderr = True
Exit Sub
ElseIf CInt(Request("doOrders")) = 0 Then
ErrMsg = ErrMsg & "<li>请选择要下降的数字!</li>"
Founderr = True
Exit Sub
End If
Set Rs = Conn.Execute("SELECT ParentID,Orders,ParentStr,Child FROM Classify WHERE ModuleID = "& ModuleID &" And ID=" & Request("editID"))
ParentID = Rs(0)
Orders = Rs(1)
ParentStr = Rs(2) & "," & Request("editid")
Child = Rs(3)
i = 0
If Child > 0 Then
Set Rs = Conn.Execute("SELECT COUNT(*) FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%'")
oldOrders = Rs(0)
Else
oldOrders = 0
End If
Set Rs = Conn.Execute("SELECT ID,Orders,Child,ParentStr FROM Classify WHERE ModuleID = "& ModuleID &" And ParentID=" & ParentID & " and Orders>" & Orders & " ORDER BY Orders")
Response.Write "<li>"&ModuleID&" 错误参数!</li>"
Do While Not Rs.EOF
i = i + 1
If CInt(Request("doOrders")) >= i Then
If Rs(2) > 0 Then
ii = 0
Set trs = Conn.Execute("SELECT ID,Orders FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & Rs(3) & "," & Rs(0) & "%' ORDER BY Orders")
If Not (tRs.EOF And tRs.BOF) Then
Do While Not tRs.EOF
ii = ii + 1
Conn.Execute ("UPDATE Classify set Orders=" & Orders & "+" & ii & " WHERE ModuleID = "& ModuleID &" And ID=" & trs(0))
trs.movenext
Loop
End If
End If
Conn.Execute ("UPDATE Classify SET Orders=" & Orders & " WHERE ModuleID = "& ModuleID &" And ID=" & Rs(0))
If CInt(Request("doOrders")) = i Then doOrders = Rs(1)
End If
Orders = Rs(1)
Rs.movenext
Loop
Conn.Execute ("UPDATE Classify SET Orders=" & doOrders & " WHERE ModuleID = "& ModuleID &" And ID=" & Request("editid"))
If Child > 0 Then
i = doOrders
Set Rs = Conn.Execute("SELECT ID FROM Classify WHERE ModuleID = "& ModuleID &" And ParentStr like '%" & ParentStr & "%' ORDER BY Orders")
Do While Not Rs.EOF
i = i + 1
Conn.Execute ("UPDATE Classify SET Orders=" & i & " WHERE ModuleID = "& ModuleID &" And ID=" & Rs(0))
Rs.movenext
Loop
End If
End If
Set Rs = Nothing
Set trs = Nothing

Response.redirect "?action=classOrders&ModuleID=" & ModuleID
Response.End
End Sub


Sub RestoreClass()
Dim Rs,i
i = 0
Set Rs = Conn.Execute("SELECT ID FROM Classify WHERE ModuleID="& ModuleID &" ORDER BY RootID,Orders")
Do While Not Rs.EOF
i = i + 1
Conn.Execute ("UPDATE Classify SET RootID=" & i & ",Depth=0,Orders=0,ParentID=0,ParentStr='0',Child=0, ChildStr='"&Rs(0)&"' WHERE ModuleID = "& ModuleID &" And ID=" & Rs(0))
Rs.movenext
Loop
Set Rs = Nothing

response.write("<li>复位成功,请返回做分类归属设置。</li>")
End Sub


%>


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值