Wenn ich in einem TDateTimePicker, welches soeben als neue Zeile einer DBGrid hinzugefügt worde ist (
ADO mit
SQL DB), das Datum ändere, erhalte ich eine EOleException und eine EDatabaseError
exception.
Diese verhalten ist nicht 100% nachvollziehbar, manchmals funktioniert der Update problemlos.
Hier der Code-snippet:
Delphi-Quellcode:
IF AdoTask.Active THEN BEGIN
IF AdoTask.State <> dsEdit THEN
AdoTask.Edit
ELSE
Changing := TRUE;
if EditTerminTime.Checked then
AdoTask.FieldByName('TaskTermin').AsDateTime := StrToDateTime(DateToStr(EditTerminDate.Date)+' '+TimeToStr(EditTerminTime.Time))
else
AdoTask.FieldByName('TaskTermin').AsDateTime := EditTerminDate.Date;
AdoTask.Post;
END; (* if *)
Die
Exception sagt:
Row cannot be located for updating. Some values may have been changed since it was last read
Oder auf Deutsch:
die zum aktualisieren angegebene zeile wurde nicht gefunden: einige werte wurden seit dem letzten lesen geändert
Was mache ich falsch?
Was habe ich übersehen?
Gruss und Danke