AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Virtuelle Felder in DataSet erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Virtuelle Felder in DataSet erstellen

Ein Thema von Morphie · begonnen am 22. Nov 2012 · letzter Beitrag vom 23. Nov 2012
 
Morphie

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

Virtuelle Felder in DataSet erstellen

  Alt 22. Nov 2012, 07:55
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Hi,

ich programmiere zur Zeit viel in C# und verwende dort auch diverse ORMs. Dort bin ich es gewöhnt zu den normalen (persistenten) Properties auch zusätzliche (berechnete) Properties zu programmieren.

Ein Beispiel wäre eine Rechnungsposition. In der Datenbank gibt es dann (minimalistisch dargestellt) die Felder:
Positionsnr
Menge
Einkaufspreis
AufschlagProzent

Zusätzlich würde ich also noch folgende Properties anlegen:
AufschlagAbsolut (berechnet sich aus Einkaufspreis / 100 * AufschlagProzent
Verkaufspreis (berechnet sich aus Einkaufspreis + AufschlagAbsolut)
Gesamtpreis (berechnet sich aus Verkaufspreis * Menge)

Bei den zusätzlichen Properties gibt es jetzt sowohl einen Getter als auch einen Setter.
Im Setter wird quasi rückwärtsgerechnet, sofern möglich... Beim Setter von Gesamtpreis wird z.B.
Code:
Verkaufspreis = neuerGesamtpreis / Menge
gerechnet...

Sinn und Zweck des Ganzen ist, dass man nur die nötigsten Werte abspeichert, die Logik dahinter nur einmal implementiert und es überall im Programm zuverlässig rechnet. Auch ist das Ganze sehr gut erweiterbar.

So mache ich das wie gesagt in C#.


Jetzt stelle ich mir die Frage, wie man sowas generell in Delphi macht. Da geht man ja eher den Weg über DataSets... Kann man da "virtuelle / berechnete" Spalten anlegen, die auch einen Setter implementieren können?
Bisher habe ich dazu nur ReadOnly-Spalten gesehen.

ORMs sind aufgrund der kaum brauchbaren LiveBindings ja noch nicht wirklich gut nutzbar in Delphi, oder?
  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 03:32 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