80040e14 mysql_Microsoft OLE DB Provider for ODBC Drivers '80040e14' [MySQL][ODBC 5.1 Driver][mysqld...

环境是ASP+MYSQLSubDelClass()DimChildStr,nChildStrDimRss,RscDimRs,SQL'OnErrorResumeNextSetRs=Conn.Execute("SELECTParentStr,Child,Depth,ParentIDFROMClassifyWHEREModuleID="&...

环境是ASP+MYSQL

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 = "

该分类含有下属分类,请删除其下属分类后再进行删除本分类的操作"

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

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值