Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#7

Re: Daten aus einer Tabelle lesen

  Alt 5. Feb 2007, 11:19
Ah ja. Dann spielt das eigentlich keine Rolle; es hängt in erster Linie davon ab, was Du sonst für Daten speicherst. Vorschläge:

Wenn die Buchhaltung oder Vertreter oder... in einer DB stehen, dann passen auch diese Daten in eine Tabelle dieser DB:
SQL-Code:
CREATE TABLE Rabatt
( ID INTEGER,
  Geltung_ab DATE,
  Geltung_bis DATE,
  Promille INTEGER
);
Dazu gehören geeignete Indizes: ID, Geltung_ab. Geltung_bis ist eigentlich eine Redundanz, aber zur Prüfung des passenden Prozentsatzes ist es besser, dies extra zu speichern. Ich habe 'Promille' vorgeschlagen; dann kannst Du auch mit Dezimalstellen INTEGER speichern. Auf die ID kann auch verzichtet werden (dann ist Geltung_ab der PrimaryKey); aber mit ID bist Du bei Änderungen flexibler.

Eine vergleichbare Struktur kannst Du auch in XML oder INI oder Textdateien speichern. Dann hängt es davon ab, wie Du damit weiter arbeiten willst. Eine Möglichkeit wäre:
Code:
[Rabatt]
01.01.2006=5
01.05.2006=3
Oder vorbereitet als TStringList.CommaText:
Code:
[Rabatt]
01.01.2006,30.04.2006,5
01.05.2006,31.05.2006,3
In allen diesen Fällen musst Du selbst entscheiden und regeln, wie Du die Werte in passende interne Strukturen einlesen willst.

Generell empfehle ich für eine solche Situation, nicht 'von 01.01.2006 bis 01.04.2006' festzulegen, sondern 'von 01.01.2006 bis 30.04.2006', damit alle Daten lückenlos erfasst werden.

Zu meiner ersten Frage: Du kommst dann wohl nicht um eine Schleife umhin.

Hilft das? Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat