Also folgendes:
Ich habe eine Tabelle:
1
2 3
3 1
Also das feld partentid linkt auf die eigentliche id. So ist es möglich verschachtelungen darzustellen. Alles schön und gut.
Doch wie selecte ich ein solches system nun?
Ich würde das dann gerne in einem Treeview darstellen oder ähnlichem.
hallo druid,
gehts auch ein bissi ausführlicher in der fragestellung???
wenn ich es richtig verstanden habe, willst du innerhalb der tabelle auf andere einträge der gleichen tabelle verweisen (selbstreferenz), richtig?
wenn du es in einer treeview darstellen willst, suchst du in dem zusammenhang hier im forum am besten auch mal nach rekursion. ich glaube von herbivore gibt´s hier auch schon mindestens einen artikel zum thema treeview knoten rekursiv aufbauen.
in deinem fall müsste die rekursion :1.auf oberster ebene alle knoten bauen aus einträgen, deren feld parentid NULL ist 1.auf der ersten unterebene alle knoten aus tabelleneinträgen erstellen, die mit ihrer parentid auf einträge der knoten oberster ebene verweisen 1.auf der zweiten ebene alle einträge abarbeiten, die mit ihrer parentid auf einträge der knoten der ersten ebene verweisen
ich glaube, ich würde es so machen, dass der abfragestring innerhalb der rekursion zusammengebaut wird und sinngemäß dabei eine sql anweisung der art
select [alle nötigen eintragsfelder]
from [meineTabelle]
where (
ParentID in ([ID´s der Ebene, die über dem aktuellen Rekursionslauf liegt])
)
Bei vielen Datensätzen wird Rekursion aber schnell zum Flaschenhals, dann würde ich zusätzlich ausweichen auf * BackgroundWorker beim Einlesen
viel erfolg!
gruß
ron