---
title: "Går detta att göra enklare och med mindre connections?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/107585-går-detta-att-göra-enklare-och-med-mindre-connections"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Addeladde"
published: "2004-07-19T00:47:36.000Z"
updated: "2004-07-19T00:47:36.000Z"
replies: 0
views: 204
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/databaser-sql/107585-går-detta-att-göra-enklare-och-med-mindre-connections"
---

# Går detta att göra enklare och med mindre connections?

## #1 — Addeladde, 2004-07-19T00:47Z

Jag ska ta bort en katalog och alla underkataloger samt sidorna som ligger i katalogerna.

Så här ser min kod ut nu, går det att göra enklare?

```
If action = "DELETEFOLDER" and isNumeric(actionFolderID) Then
	
	Function getCatalogs(Byval actionOpenFolder, Byref strActionFolders)
	  Set checksystemFoldersRs = Con.Execute("Select folderID from folders where folderParent = "& actionOpenFolder)
	  While not checksystemFoldersRs.Eof    
		strActionFolders = strActionFolders&checksystemFoldersRs("folderID")&","
		call getCatalogs(checksystemFoldersRs("folderID"), strActionFolders)
	    checksystemFoldersRs.MoveNext
	  Wend
	  checksystemFoldersRs.Close : Set checksystemFoldersRs = Nothing
	End Function
	
	call getCatalogs(actionFolderID, strActionFolders)
	
	sqlString = "Select sida_id from sidor Where (sida_typ = 1 or sida_typ= 2) And (sida_folderID = "& actionFolderID
	If strActionFolders <> "" Then
	  strActionFolders = left(strActionFolders, (len(strActionFolders)-1))
	  arrActionFolders = split(strActionFolders, ",")
	  
	  For i=0 To ubound(arrActionFolders) step 1
		  sqlString = sqlString & " Or sida_folderID = "& arrActionFolders(i)	
	  Next
	End If
	sqlString = sqlString&")"
	Set checksystemPagesRS = Con.Execute(sqlString)
    If not checksystemPagesRS.Eof Then
	  errorMessage = "Mappen innehåller en systemsida och kan ej tas bort!"	
	End If
	checksystemPagesRS.close : set checksystemPagesRS = nothing
  
  If errorMessage = "" Then
	sqlString = "Delete from sidor Where sida_folderID = "& actionFolderID
	If strActionFolders <> "" Then
	  For i=0 To ubound(arrActionFolders) step 1
		  sqlString = sqlString & " Or sida_folderID = "& arrActionFolders(i)	
	  Next
	End If
	Con.Execute(sqlString)
	
	sqlString = "Delete from folders Where folderID = "& actionFolderID
	If strActionFolders <> "" Then
	  For i=0 To ubound(arrActionFolders) step 1
		  sqlString = sqlString & " Or folderID = "& arrActionFolders(i)	
	  Next
	End If
	Con.Execute(sqlString)
  Else
    errorMessage = "Mappen innehåller en systemsida och kan ej tas bort!"
  End If
End If
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/107585-går-detta-att-göra-enklare-och-med-mindre-connections
