Announcement

Collapse
No announcement yet.

Datensätze speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datensätze speichern

    Hallo, mit der unten aufgeführten Procedure speichere ich meine eingegeben, oder geänderten Datensätze. Vorher setze ich die Datenbank in den Insert-Modus. Gebe ich dann einen Datensatz ein, so wird dieser auch richtig gespeichert. Gebe ich aber mehrere Datensätze ein, also Insert Neuer Datensatz, Mitgliedsnummer wird automatisch eingetragen,
    das gleiche wieder für den nächsten Datensatz usw. und speichere dann, so wird der Wert für GebDat nur einmal übernommen. Der Wert von GebDat wird in der Funktion AlterBeiGeburtstag ermittelt. Warum wird nur ein Wert gespeichert. Kann man es bewerkstelligen, das alle Werte gespeichert werden. Ich arbeite mit einer Paradox-Datenbank. Möchte aber auf Interbase Client/Server umsteigen. Wie beschrieben, nur eine Eingabe, dann Speichern funktioniert. Sicher kann man mir Tipps geben. Gruss ph.

    procedure TNeuForm.BtnStoreClick(Sender: TObject);

    begin

    AlterAusgabe(Sender); //schreibt Alter in ein Label

    VereinZuAusgabe(Sender);

    DataModule2.Sin_AdreTableGeAlter.Value := (AlterBeiGeburtstag

    (DateToStr(Datamodule2.Sin_AdreTableGebDat.Value)) );

    Datamodule2.Sin_AdreTable.ApplyUpdates;

    DataModule2.Sin_AdreTable.CommitUpdates;

    Datamodule2.Sin_AdreTable.Refresh;

    end;

  • #2
    Hallo,

    so kann das auch nicht funktionieren. Zum einen wird <i>Cached Updates</i> genutzt, was die Sache zusätzlich erschwert. Und zum anderen muss der Wert für <i>DataModule2.Sin_AdreTableGeAlter.Value</i> <b>nicht</b> beim Speichern zugewiesen werden, sondern in der Ereignisbehandlungsmethode für <b>OnNewRecord</b> für jeden Datensatz. Wird das nur beim Speichern gemacht, betrifft die Zuweisung nur den einen Datensatz, der zufällig zu diesem Zeitpunkt ausgewählt ist

    Comment


    • #3
      Hallo, nun das habe ich schon mal probiert, mit OnNewRecord, aber das Ergebnis ist, das der Datumswert ja gleich übernommen wird wenn ich den Insert-Modus aktiviere. Und der entspricht leider nicht den Wert den ich eingegeben habe. Deshalb dachte ich, den Datumswert erst zu übergeben wenn ich den Satz speichere. Was kann man da machen ? Danke ph

      Comment


      • #4
        Hallo,

        dann wird anstelle von OnNewRecord das Ereignis <b>BeforePost</b> verwendet

        Comment


        • #5
          Vielen Dank, gerade hatte ich es mit BeforePost gemacht und es scheint zu funktionieren. Gruss ph

          Comment

          Working...
          X