Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#7

Re: [VTV] Rekursive Knotenabfrage

  Alt 17. Okt 2006, 11:54
Ich glaube das Problem ist noch nicht ganz klar geworden

Also mal im Ablauf:

Ein neuer Knoten wird im Programm im VTV eingefügt (hier der Child_111)

Daraufhin müssen folgende Dabenbankoperationen stattfinden:

a) Child_111 wird per INSERT eingefügt (und natürlich seine Parent_ID = 03 gesetzt - das passiert ja schon heute). Child_111 erhält vom DB die ID = 07

b) bei allen Nodes über Child_111 muss jetzt das Feld RIGHTS (und der entsprechende Record-Eintrag im VTV) upgedated werden

Node_ID 03 -> RIGHTS -> 07
Node_ID 02 -> RIGHTS -> 03, 04, 05, 07
Node_ID 01 -> RIGHTS -> 02, 03, 04, 05, 06, 07

c) das gleiche soll natürlich passieren, wenn man einen Node löscht.

Mein Problem ist jetzt: Wie bekomme ich bei b) die IDs 04, 05, 06 in die Nodes mit der ID 01 und 02, da ich ja nicht nur stur von Child_111 nach oben gehen kann, sondern pro Parent ja wieder abfragen muss, welche Kinder dieser hat, um die IDs nach oben "zu reichen".

Hintergrund: An die Nodes (IDs) werden relational Adressdaten gebunden. Die Berechtigungsabfrage erfolgt dann in der Form "SELECT * FROM adressen WHERE adress_right IN (hier steht der entsprechende Ausdruck aus 'RIGHTS')" so dass ich bei Auswahl eines Nodes im VTV alle zugeordneten Adressen aller Unterknoten erhalte.

Viele Grüße
Igotcha
  Mit Zitat antworten Zitat