Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#7

Re: oldValue ändert sich nicht

  Alt 11. Dez 2009, 10:03
Hallo,

da liegt glaub' ich ein Verständnisproblem vor:

oldValue bleibt bis zum Abschluss des Speichervorganges der alte Wert, also der, der vor dem Ändern im TDBGrid, in der Datenbank stand.
BeforePost wird aufgerufen, wenn die Speichervorgang angefordert wurde. Das kann z. B. im TDBGrid beim Wechseln der Zeile passieren oder, wenn man den DBNavigator benutzt, dort der Button für's Speichern betätigt wird...
Änderungen kannst Du nur dadurch erfahren, dass Du oldValue und newValue vergleichst. newValue müsste der im TDBGrid eingegebene Wert sein.

In BeforPost muss Du nur dann was machen, wenn Du die Eingabe z. B. kontrollieren willst oder Berechnungen durchführst, die in andere Spalten oder Tabellen übernommen werden, oder bei fehlerhafter Eingabe den Speichervorgang abbrechen willst...

Können Werte so, wie im TDBGrid eingegeben, gespeichert werden, sind BeforePost und AfterPost nicht erforderlich.
  Mit Zitat antworten Zitat