AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hierarchische Daten speichern und abrufen
Thema durchsuchen
Ansicht
Themen-Optionen

Hierarchische Daten speichern und abrufen

Ein Thema von EarlyBird · begonnen am 4. Feb 2011 · letzter Beitrag vom 6. Feb 2011
Antwort Antwort
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#1

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 18:31
Kommt leider nicht in Frage.
Zu den Daten kommen noch ein paar mehr Tabellen und Daten hinzu.
So das ich es insgesamt gesehen besser mit einer Datenbank lösen kann.
Aber Danke für die Anregung.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 18:46
Im Grunde brauchst du nur das Elternelement speichern.

Willst du dann die Kinder wissen, mache eine Abfrage wie:
Code:
SELECT * FROM nodes WHERE (parent == ?)
Wobei du ? durch die ID des Knoten ersetzt, dessen Kinder du wissen willst.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG ( 4. Feb 2011 um 18:50 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 19:13
Hallo,

im grunde sieht die Tabelle dafür so aus

Code:
CREATE TABLE Tree
(ID INteger,
NodeName Char(),
Parent_ID INTEGER);
wenn DU dann noch ne StoredProcedure machen kannst, dann kannst Du die Daten rekursiv ermitteln. ich glaube Holger Klemt hat dazu mal was im Entwickler geschrieben...

Grüße
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 19:30
Hier würde sich auch eine CTE ( Common Table Expression) anbieten
Markus Kinzler
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#5

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 20:10
Erstmal Danke für die Antworten.

CTE sagt mir jetzt leider nichts.
Werde mich mal mit Google schlau machen.

Im Grund ist mir die Tabellen-Struktur schon klar.
Nur bin ich mir über die Abfrage der Daten noch nicht im klaren.
Ich hatte gehofft das es mit einer bestimmten Tabellen-Struktur einfacher zu lösen ist.

Der beste Weg ist also die Daten über eine StoredProcedure rekursiv Abzufragen?
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#6

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 20:22
das habe ich gerade zu CTE gefunden:
http://msdn.microsoft.com/de-de/library/ms186243.aspx
Scheint ziemlich genau das zu sein was ich suche.
Jetzt muss ich es nur noch genau verstehen und umsetzen.
Danke für Eure vorzügliche schnelle Hilfe
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#7

AW: Hierarchische Daten speichern und abrufen

  Alt 4. Feb 2011, 21:18
Ich schon wieder.
Für alle die etwas ähnliches suche:
Ich habe die Abfrage aus http://msdn.microsoft.com/de-de/library/ms186243.aspx
mal ein bisschen vereinfacht.

Delphi-Quellcode:
USE yourDatenbank;
GO
WITH Organigramm (Chef, Mitarbeiter, Title, Level)
AS
(
-- Anchor member definition
      SELECT e.Chef, e.Mitarbeiter, e.Title, 0 AS Level
    FROM dbo.myMitarbeiter AS e
    WHERE e.Chef IS NULL
    UNION ALL
 -- Recursive member definition
    SELECT e.Chef, e.Mitarbeiter, e.Title, Level + 1
    FROM dbo.myMitarbeiter AS e
    INNER JOIN Organigramm AS d
        ON e.Chef = d.Mitarbeiter
)
-- Statement that executes the CTE
SELECT Chef, Mitarbeiter, Title, Level
FROM Organigramm order BY Level, Chef;
GO
So scheint es zu funktionieren.

Der Tip mit CTE war goldrichtig besten Dank noch mal dafür.
  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 17:02 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