---
title: "Radera kategori med x antal underkategorier"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/148310-radera-kategori-med-x-antal-underkategorier"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "calson"
published: "2006-06-21T22:53:12.000Z"
updated: "2006-06-25T06:23:50.000Z"
replies: 9
views: 409
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/148310-radera-kategori-med-x-antal-underkategorier"
---

# Radera kategori med x antal underkategorier

## #1 — calson, 2006-06-21T22:53Z

Hej
Sitter helt tom i huvudet efter en hård dags kodning :)

Jag vill göra ett adminskript som raderar en utvald kategori tillsammans med dess underkategorier.

Någon som känner sig manad att hjälpa till

Tack på förhand

Permalänk: https://www.webforum.nu/p/148310

## #2 — UlfT, 2006-06-21T23:38Z

Möjligt att någon kanske gör om du beskriver vad det handlar om.

Permalänk: https://www.webforum.nu/p/1833919

## #3 — CatZ, 2006-06-21T23:52Z

```
<% dim strSQL
dim intCatID

intCatId = Request.Querystring("cat")
strSQL = ("DELETE * FROM tblCategories, tblSubCategories WHERE categoryID = " & intCatID & " ")
objConn.Execute strSQL,,128
%>
```

Annars är det bästa att du söker på "Cascading Deletes"

Permalänk: https://www.webforum.nu/p/1833921

## #4 — Compusa, 2006-06-22T08:14Z

> **CatZ skrev:**
>
> Annars är det bästa att du söker på "Cascading Deletes"

 (y)

Permalänk: https://www.webforum.nu/p/1833953

## #5 — calson, 2006-06-22T17:38Z

tackar ska söka

Permalänk: https://www.webforum.nu/p/1834090

## #6 — calson, 2006-06-22T18:21Z

sökningen gav tyvär inga resultat.

Detta har jag gjort såhär långt men har svårtigheter eftersom man raderar poster och kan därför inte loopa som jag vill. Detta felmedelande får jag

Feltyp:
ADODB.Recordset (0x800A0BCD)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
del.asp, line 91

```
    objConr.execute("Delete From tbl Where id=" &intID)
    GetDelId intId
    intX = 1
	

    sub GetDelId(parentDelId)

      strSql=("Select ID From tbl Where intRefID=" & parentDelId)
      set objRs = objConr.Execute(strSql)

      if not objRs.EOF then

	    do until objRs.EOF Or intX = 100
		intNewId = objRs("ID")
	       objConr.execute("Delete From tbl Where intRefId=" & parentDelId)
	       GetDelId intNewId
		intX = intX + 1
	    objRs.MoveNext [b]<--- Rad 91[/b]
	    loop

      end if

    end sub

    objRs.Close

    response.write(intX & "<br>")
```

Permalänk: https://www.webforum.nu/p/1834103

## #7 — UlfT, 2006-06-22T21:02Z

Vad använder du intX till? Varför ska den räknas upp? Varför har du den som ett villkor i loopen överhuvudtaget?

Permalänk: https://www.webforum.nu/p/1834149

## #8 — CatZ, 2006-06-22T22:36Z

Det jag menader är att om du har en relationsdatabas och ställer in relationerna på cascading updates/deletes så slipper du göra sånt här. Då tas alla underkategorierna bort när du tar bort huvudkategorin.

Permalänk: https://www.webforum.nu/p/1834163

## #9 — calson, 2006-06-23T16:56Z

intX skriver ut hur många poster som raderas

Jag gör detta lita för att lära mig och men den databasstrukturen jag har måste man kolla varje id eftersom en underkategori använder kategorin övers id som refid. Eller missförstod jag dig igen :)

Permalänk: https://www.webforum.nu/p/1834281

## #10 — @nders, 2006-06-25T06:23Z

Det ser ut som att du försökt att ge dig på någon sorts rekursiv historia. Antagligen beror dina problem på att objRS inte är lokalt i suben. Så: deklarera objRS inne i din subrutin, så den blir lokal, och plocka in stängning och förstörelse av det objektet.

Permalänk: https://www.webforum.nu/p/1834515

---

Tråden på webben: https://www.webforum.nu/amne/asp/148310-radera-kategori-med-x-antal-underkategorier
