Ciao a tutti cercherò di spiegarmi anche se so già che mi incarterò xD

Premetto che non son mai andata troppo d'accordo coi cicli ricorsivi seppure ne capisca concettualmente il funzionamento mi son sempre un po bloccata

Allora....io ho una tabella di un database dalla quale pesco i miei dati ed ho una serie di categorie e sotto categorie organizzate così:


id_cat | parent_id | nome_cat


ora...come avete capito il campo "parent_id" gestisce l'eventuale sottocategoria (se ha valore 0 la categoria è in testa mentre se ha un valore superiore a zero quel valore è l'id della sua categoria "madre).

Io mi trovo a dovere creare un sistema di cartelle su windows che rispecchi la struttura delle categorie. Il mio blocco sta nel fatto che non ci sono i "livelli"...cioè se ci fosse stato un altro campo "level_cat" (per dire) avrei potuto creare il primo livello, poi il secondo ecc ecc ma così mi sto bloccando xD
Per ora ho buttato giù questo ma mi son già piantata xD

codice:
Private Sub creazioneCatPath(ByVal mioDs As DataSet, ByVal urlDest As String, ByVal valParent As Integer)
      For Each riga As DataRow In mioDs.Tables("categorie").Rows
            Dim nomePathCat As String = riga("id_cat") & " - " & riga("nome_cat")
            If riga("parent_id") = valParent Then
                  If IO.Directory.Exists(urlDest & nomePathCat) = False Then
                         IO.Directory.CreateDirectory(urlDest & nomePathCat)
                  End If
            End If
      Next
End sub
Potete darmi una manina nel ragionamento?