AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Hierarchie in Datenbank und DataSet abbilden
Thema durchsuchen
Ansicht
Themen-Optionen

Hierarchie in Datenbank und DataSet abbilden

Ein Thema von Morphie · begonnen am 20. Jun 2013 · letzter Beitrag vom 20. Jun 2013
 
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#5

AW: Hierarchie in Datenbank und DataSet abbilden

  Alt 20. Jun 2013, 13:59
Unter anderem soll das GAEB unterstützten, richtig

Ich habe ein Grid, welches mit der Datenbank verbunden ist (über eine Query)
Dieses Grid hat 3 Aufgaben:
1. vorhandene Positionen darstellen
2. vorhandene Positionen bearbeiten
3. neue Positionen (manuell) erfassen

Das Grid ist also sowohl Eingabemaske als auch Darstellung. Das ist auch so gewollt...

Den Datenbankaufbau habe ich ja schon oben gepostet.
Man könnte die Positionsnummer natürlich auch komplett abspeichern (01.01.0001), aber genau das möchte ich nicht. Ich möchte (wie z.B. bei GAEB XML) eine echte Hierarchie aufbauen, nur die jeweils für die Position relevante Ordnungszahl (01, 01, 0001) abspeichern und die komplette Positionsnummer aufgrund der Baumstruktur von meinem Programm aufbauen lassen.

Der Vorteil: Ich ändere bei einer Position nur die OZ, und alle Unterpositionen werden automatisch angepasst. (bzw. sie müssen gar nicht angepasst werden, weil die Positionsnr ja dynamisch erzeugt wird)

Ich suche jetzt eine passende Stelle, bei der ich diese Positionsnummer in meinem DataSet aufbauen kann. Dazu habe ich ein InternalCalcField, also ein Feld was nicht in die Datenbank geschrieben wird, und könnte das Feld über OnCalcFields entsprechend berechnen lassen. Ich muss also innerhalb von OnCalcFields irgendwie auf die Parent-Position zugreifen können
Wenn ich das möglichst performant gelöst kriege, ist mein Problem gelöst


Ich hatte sowas schon mal in .NET mit ORMs programmiert. Dort hatte ich zu jeder Position ein Property "Parent"... Die Positionsnr war dann auch nur ein Property, welches in etwa diesen Getter hatte:
Code:
if (this.Parent == null)
{
  value = this.OZ;
}else{
  value = this.Parent.Positionsnr + "." + this.OZ;
}
  Mit Zitat antworten Zitat
 


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 13:50 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 by Thomas Breitkreuz