Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Frage zur Programmlogik (https://www.delphipraxis.net/131329-frage-zur-programmlogik.html)

khh 23. Mär 2009 10:27

Datenbank: firebird • Version: 2.1 • Zugriff über: zeos

Frage zur Programmlogik
 
hallo zusammen,
ich überlege gerade wie ich folgendes umsetzen kann:

Ich muss aus einer Bestellung eine Auftrag erzeugen.
Nun ist es möglich, dass verschiedene Auftragsarten vorhanden sind.
Für die Bestellung soll die daraus resultierende Auftragsart in der DB hinterlegt werden.
Natürlich muss das auch zu ändern sein.
Also hab ich mir gedacht, ich schreibe in eine Ttabelle "einstellungen" den entsprechenden variablen wert und frage diesen über einen 2ten, fest definierten wert ab.
Aber irgendwie widerstrebt es mir diesen festen Wert aus der DB über eine Konstante im Programm abzufragen :-(

Seht ihr andere Lösungsmöglichkeiten?


danke Gruss Kh

Phoenix 23. Mär 2009 11:16

Re: Frage zur Programmlogik
 
Häh? Sorry, aber ich verstehe die Frage nicht.

Alle Auftragsarten pflegst Du in einer Auftragsarten-Tabelle, oder?

Wenn Du eine Bestellung hast (als Datensatz) und daraus einen Auftrag machst, dann kannst Du doch die Art des Auftrages bei der Gelegenheit gleich mit angeben? (Ganz normale Fremdschlüssel-Beziehung).

Alternativ kannst Du eine 'Default-Auftragsart' in einer Einstellungstabelle hinterlegen.
Dann wird diese gelesen und für neue Aufträge verwendet.

Die Auftragsart ist in jedem Fall hinterher immer änderbar.

khh 23. Mär 2009 11:20

Re: Frage zur Programmlogik
 
Zitat:

Zitat von Phoenix
Häh? Sorry, aber ich verstehe die Frage nicht.

Alle Auftragsarten pflegst Du in einer Auftragsarten-Tabelle, oder?

Wenn Du eine Bestellung hast (als Datensatz) und daraus einen Auftrag machst, dann kannst Du doch die Art des Auftrages bei der Gelegenheit gleich mit angeben? (Ganz normale Fremdschlüssel-Beziehung).

Alternativ kannst Du eine 'Default-Auftragsart' in einer Einstellungstabelle hinterlegen.
Dann wird diese gelesen und für neue Aufträge verwendet.

Die Auftragsart ist in jedem Fall hinterher immer änderbar.

die Auftragserzeugung soll automatisch ablaufen, also quasi im batch.
das mit der default-auftragsart hab ich mir ja gedacht, nur lese ich da praktisch einen veränderbaren wert mit ner konstante und das irritiert mich etwas.
Und ne extra tabelle für einen einzigen DS ?

Mh

Gruss Kh

mkinzler 23. Mär 2009 11:27

Re: Frage zur Programmlogik
 
Default-Werte kann man bei der Anlage einet Spalte mit Angeben

khh 23. Mär 2009 11:31

Re: Frage zur Programmlogik
 
Zitat:

Zitat von mkinzler
Default-Werte kann man bei der Anlage einet Spalte mit Angeben

ja das ist richtig
ich glaube ich muss mich besser ausdrücken

ich schreibe den default wert in eine Tabelle.

also zb id 1 , aart xy
id 2 sonstwas.

jetzt muss ich quasi über die angebe des key (1) den wert xy auslesen.
und dieser Key ist dann im Programm ne konstante.
Das kommt mir einfach irgendwie widerspüchlich vor, deshalb suche ich, wenn möglich, einen aderen Lösungsweg.


Gruss Kh

mkinzler 23. Mär 2009 11:34

Re: Frage zur Programmlogik
 
Ich meinte den Default-Wert in den Metadaten der Spalten. Aber vielleicht reden wir auch aneinander vorbei

khh 23. Mär 2009 11:35

Re: Frage zur Programmlogik
 
Zitat:

Zitat von mkinzler
Ich meinte den Default-Wert in den Metadaten der Spalten. Aber vielleicht reden wir auch aneinander vorbei

ja das war wohl aneinander vorbei.

siehe die erklärung in meinem letzten posting

mkinzler 23. Mär 2009 11:38

Re: Frage zur Programmlogik
 
Ich versteh dein Problem nicht ganz. Ich würde den Defaultwert nicht als Konstante im Programm sondern als Vorgabewert in der entsprechenden Spalte der Tabelel hinterlegen. Warum als Konstante im Programm?

khh 23. Mär 2009 11:41

Re: Frage zur Programmlogik
 
Zitat:

Zitat von mkinzler
Ich versteh dein Problem nicht ganz. Ich würde den Defaultwert nicht als Konstante im Programm sondern als Vorgabewert in der entsprechenden Spalte der Tabelel hinterlegen. Warum als Konstante im Programm?

ja das möchte ich so machen.

Aber wie hole ich den Defaultwert aus der Tabelle, wenn dies nicht der einzige Wert in dieser Tabelle ist?
Das ginge doch nur über ne Konstante die mit der id identisch ist, oder ?

mkinzler 23. Mär 2009 11:49

Re: Frage zur Programmlogik
 
Du kannst für jede Spalte einen Default-Wert angeben. Der wird genommen wenn die Spalte als NOT NULL deklariert ist und bei der Anlage eines neuen Datensatz nicht mit angegeben wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Seite 1 von 3  1 23      

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