Hallo DPler,
ich hatte die Idee einen TV Show Reminder in Delphi zu schreiben, der auf eine simple Datenbank zugreift. Mir ist bewusst, dass
Paradox verrufen ist, aber das ist nun mal Vorgabe.
Laut dem Delphi-Treff kann man einen Datensatz aus der Table einfach mit .Delete löschen. Soweit so gut, nur jetzt bekomm ich ständig Exceptions "Bei leerer Datenmenge nicht möglich". Ich hab versucht das mit If-Abfragen abzufangen, was folgendermaßen aussieht:
Delphi-Quellcode:
if not Table1.Eof = true then begin
if Table1.FieldByName('Datum').AsDateTime < Now then //Abgelaufene Daten automatisch löschen
begin
if MessageDlg('Veraltete Datensätze gefunden. Löschen?',mtConfirmation,mbYesNo,0,mbYes) = mrYes then
for I := 0 to Table1.Fields.Count - 1 do
Table1.Delete;
end;
end;
Chaotisch, ich weiß, aber ich arbeite dran. Wird beim Fragedialog Nein Gedrückt passiert nichts: Gut! Aber sobald die Table Datensätze enthält und mit einem Klick auf Ja die veralteten Datensätze entfernt werden, kommt genannter Fehler, falls dadurch jeder Datensatz entfernt wird. Ich vermute mal, da steckt wieder irgendwo der Wurm in der Schleife, nur find ich ihn nicht wirklich.
Über Tipps wär ich sehr dankbar!
MfG,
SoD