Delphi-PRAXiS
Seite 2 von 3     12 3      

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 12:53

Re: Frage zur Programmlogik
 
Zitat:

Zitat von mkinzler
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.

wir reden wieder aneinander vorbei:-(



also ich hab ne tabelle:
id 1 wert xy
id 2 wert ab
id 3 wert xk

so jetzt möchte ich den wert xy aus der tabelle holen.
Also muss ich doch auf id 1 abfragen, oder?
und 1 ist somit quasi die konstante im Programm

mkinzler 23. Mär 2009 12:58

Re: Frage zur Programmlogik
 
Und diese 1 willst du doch als Wert einer anderen Spalte nehmen?

khh 23. Mär 2009 13:01

Re: Frage zur Programmlogik
 
Zitat:

Zitat von mkinzler
Und diese 1 willst du doch als Wert einer anderen Spalte nehmen?

nee ich möchte xy im Programm haben indem ich über 1 auf den DS zugreife
xy ist quaisi der variable wert den ich aus der tabelle holen möchte

guidok 23. Mär 2009 13:03

Re: Frage zur Programmlogik
 
Woher weist du denn (der Batchlauf) welche Auftragsart zu welcher Bestellung gehört?

Diese Beziehung musst du doch irgendwo festlegen und zwar nicht unbedingt als Konstante im Programm.

khh 23. Mär 2009 13:05

Re: Frage zur Programmlogik
 
Zitat:

Zitat von guidok
Woher weist du denn (der Batchlauf) welche Auftragsart zu welcher Bestellung gehört?

Diese Beziehung musst du doch irgendwo festlegen und zwar nicht unbedingt als Konstante im Programm.

eben drum möchte ich ihn aus der Db-tabelle auslesen.
irgendwie hab ich heut ein Problem das richtig darzustellen :-(

Phoenix 23. Mär 2009 13:36

Re: Frage zur Programmlogik
 
Zitat:

Zitat von khh
id 1 wert xy
id 2 wert ab
id 3 wert xk

so jetzt möchte ich den wert xy aus der tabelle holen.
Also muss ich doch auf id 1 abfragen, oder?
und 1 ist somit quasi die konstante im Programm

WIESO willst Du gerade 'xy' und nicht 'ab' oder 'xk' aus der Tabelle holen?
Vielleicht ist das ja der Knackpunkt...

Edit Nachtrag:
MOOOMENT! Wieso willst Du überhaupt 'xy' in den neu anzulegenden Datensatz schreiben, wenn Du diesen Wert eh schon zu einer ID in einer Tabelle hast? Das ist Redundant und sollte idealerweise vermieden werden.

Du solltest in den Datensatz dann gleich die 1 Eintragen, damit sich xy irgendwann mal ändern kann, ohne dass Du alle Datensätze dazu ändern musst.

guidok 23. Mär 2009 14:13

Re: Frage zur Programmlogik
 
Genau das ist die Frage: Wer legt fest zu welcher Bestellung welche Auftragsart gehört? Diese Information muss ja irgendwo vorhanden sein. In den Datensatz für die Bestellung selbst muss natürlich nur die ID der Auftragsart.

khh 23. Mär 2009 14:34

Re: Frage zur Programmlogik
 
Zitat:

Zitat von guidok
Genau das ist die Frage: Wer legt fest zu welcher Bestellung welche Auftragsart gehört? Diese Information muss ja irgendwo vorhanden sein. In den Datensatz für die Bestellung selbst muss natürlich nur die ID der Auftragsart.

genau das lege ich fest indem ich im Programm sage id 1 ist für diese Bestellung die richtige Auftragsart,
id 2 für jene.
über den das feld mit den einträgen xy oder ab kann ich ja dann die entsprechende Auftragsart wenn nötig ändern.
Und genau das ist meine Ausgangsfrage.die id brauch ich ja dann als konstante im Programm,und das wollte ich vermeiden.

mkinzler 23. Mär 2009 14:36

Re: Frage zur Programmlogik
 
Dann würde ich das über einer extra Tabelle regeln

Phoenix 23. Mär 2009 14:40

Re: Frage zur Programmlogik
 
Zitat:

Zitat von khh
Zitat:

Zitat von guidok
Genau das ist die Frage: Wer legt fest zu welcher Bestellung welche Auftragsart gehört? Diese Information muss ja irgendwo vorhanden sein. In den Datensatz für die Bestellung selbst muss natürlich nur die ID der Auftragsart.

genau das lege ich fest indem ich im Programm sage id 1 ist für diese Bestellung die richtige Auftragsart,
id 2 für jene.
über den das feld mit den einträgen xy oder ab kann ich ja dann die entsprechende Auftragsart wenn nötig ändern.
Und genau das ist meine Ausgangsfrage.die id brauch ich ja dann als konstante im Programm,und das wollte ich vermeiden.

Mache mal einen Schritt zurück.

Zitat:

Zitat von khh
indem ich im Programm sage id 1 ist für diese Bestellung die richtige Auftragsart,
id 2 für jene.

Das heisst, Du hast - trotz Batchlauf - für jede einzelne Bestellung eine MANUELLE Eingabe. Und diese hast Du zu dem Zweck, dass Du eine andere Information ('ab', 'xy') Redundant ablegst?

Oder kann die Auftragsart aus der Bestellung automatisch ermittelt werden? An welchem Wert ist das fest gemacht? Dieser Wert muss dann doch in der Tabelle zu den Auftragsarten hinterlegt werden. Dann kannst Du das auch automatisch ermitteln.

Und selbst dann: Warum schreibst Du dann nicht direkt die ID der Auftragsart in den Auftrag, wenn Du die Auftragsarten eh schon in einer eigenen Tabelle hast? Wenn Du eine Information wie 'ab' oder 'xy', die eh schon unter einer ID in der Datenbank liegt, jedes mal kopierst, dann untergräbt das das Grundprinzip der Datenbank. In so einem Fall legt man gleich die richtige ID im Zieldatensatz ab und nicht den Wert hinter der ID.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.
Seite 2 von 3     12 3      

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