![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
Treeview in Firebird-DB
Hallo,
sicherlich finde ich irgendwo hier im Forum schon die Antwort, nur war ich (vielleicht auch angesichts der Uhrzeit) bisher nicht in der Lage, die richtigen Suchbegriffe zu definieren. Also: Ich habe ein Treeview, in dem ich für die Nodes einen Record definiert habe:
Delphi-Quellcode:
Diese Treeview möchte ich nun in einer Firebird-Datenbank ablegen und natürlich auch wieder in den laufenden Betrieb umsetzen, wobei die Data-Eigenschaften mit ausgelesen werden sollen. Alle meine bisherigen Lösungsansätze waren - gelinde gesagt - absolut unbrauchbar, was langsam zu rundgenagten Tischkanten führt.
type
NodeEx = class(TTreeNode) private _Typ: String; _ID: String; protected public published property Typ: String read _Typ write _Typ; property ID: String read _ID write _ID; end; Nun zu meiner Frage: Hat zufälligerweise jemand einen Tipp zur Hand, der seniorengerecht umsetzbar wäre? Nebenbei bemerkt: Ich habe versucht, das ganze mit dem VirtualTreeView umzusetzen, was aber irgendwie (wahrscheinlich auch aufgrund der geringen Einarbeitungszeit) absolut in die Hose gegangen ist. Schade, hätte die eigentlich lieber verwendet... Danke und Gruß Opa |
Re: Treeview in Firebird-DB
Was steckt hinter Data?
|
Re: Treeview in Firebird-DB
Hallo,
du legst nicht den Treeview ab, sondern die Daten. Bei Bäumen wird der Node als Id, PreId, (Data) gespeichert. PreId ist die Id des Parent-Nodes, bie Root-Nodes steht dort 0. Sinnvollerweise packt man einen Dummy-Record mit Id=0 und PreId=0 mit in die DB, der natürlich nicht geladen wird. Wozu ? Um left joins zu vermeiden. Such mal in google nach "Baum Interbase", oder "recursive Interbase" da hatte ich schon mal was gelesen. Heiko |
Re: Treeview in Firebird-DB
Hallo,
Danke für den Tipp. Ich habe zwar in Google nichts vernünftiges finden können, aber das mit der PreID ist ja eigentlich ziemlich logisch. Ich werde mich mal daran setzen, das umzusetzen... Gruß Opa |
Re: Treeview in Firebird-DB
|
Re: Treeview in Firebird-DB
Grundsätzlich sollte ein rekursives Schema mit jedem (richtigen) DBMS möglich sein. Für den VirtualTreeView gibt es auch eine Erweiterung für die Verwendung von Datenbanken.
|
Re: Treeview in Firebird-DB
Hallo,
Danke für die Tipps. Da ich datenbanktechnisch das letzte Mal noch mit Clipper und DBase gearbeitet habe, muss ich mich noch ein wenig eingewöhnen. Ich hatte gehofft, dass es vielleicht schon eine funktionierende Lösung für mein Vorhaben gäbe (nun ja, man ist nun mal bequem), aber anscheinend muss ich wohl noch ein wenig weiterexperimentieren. Mit dem VST komme ich absolut nicht zurecht. Sicherlich eine tolle Komponente, aber irgendwie kriege ich damit nicht das hin, was ich vorhabe. Gruß Opa |
Re: Treeview in Firebird-DB
Im Grundsatz unterschiedet sich das Ablegen von rekursiven baumstrukturen in eine DB in FB nicht von dBase. Nur das FB (ab 2.1) mit dem with recursive eine Erweiterung für rekursive Abfragen enthält
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz