AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Treeview in Firebird-DB
Thema durchsuchen
Ansicht
Themen-Optionen

Treeview in Firebird-DB

Ein Thema von Opa Knack · begonnen am 16. Nov 2007 · letzter Beitrag vom 19. Nov 2007
Antwort Antwort
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#1

Treeview in Firebird-DB

  Alt 16. Nov 2007, 02:48
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
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:
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;
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.

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Treeview in Firebird-DB

  Alt 16. Nov 2007, 06:38
Was steckt hinter Data?
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Treeview in Firebird-DB

  Alt 16. Nov 2007, 07:47
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
Heiko
  Mit Zitat antworten Zitat
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#4

Re: Treeview in Firebird-DB

  Alt 17. Nov 2007, 00:58
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
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Treeview in Firebird-DB

  Alt 17. Nov 2007, 01:17
Hallo Opa Knack,

hier und hier gibt es auch noch Überlegungen dazu, ist zwar für MySQL und MsSQL aber vielleicht hilft dir das weiter...

Gruss
Thorsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Treeview in Firebird-DB

  Alt 17. Nov 2007, 08:29
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#7

Re: Treeview in Firebird-DB

  Alt 19. Nov 2007, 01:28
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Treeview in Firebird-DB

  Alt 19. Nov 2007, 07:36
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
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz