![]() |
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Problem beim Löschen des letzten Datensatzes aus Query
Hallo zusammen,
hab ein Problem, wenn ich den letzten Datensatz aus einer Query mittels Delete löschen möchte. Letzter Datensatz heißt hier der letzte verbliebene Datensatz in der Query. Alle anderen Datensätze wurden vorher ohne Probleme gelöscht. Die Fehlermeldung lautet: "Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz" Hier mein vereinfachter Programm-Code:
Delphi-Quellcode:
Vielleicht hat habt Ihr ja einen Tip, warum es nicht funktioniert.
Query_Picture.First;
while not Query_Picture.Eof do begin Filename := Query_Picture.FieldByName('filename').AsString; if not FileExists(Filename) then Query_Picture.Delete else Query_Picture.Next; end; Gruß, Ben |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Wenn du auf dem letzten DS stehst ist EOF true
|
Re: Problem beim Löschen des letzten Datensatzes aus Query
also kann ich den letzten Eintrag nur ausserhalb der While-Schleife löschen?
|
Re: Problem beim Löschen des letzten Datensatzes aus Query
Wandel die Schleife doch um...
Delphi-Quellcode:
{finde heraus ob es Einträge gibt und bau daraus ein if}
Query_Picture.First; repeat Filename := Query_Picture.FieldByName('filename').AsString; if not FileExists(Filename) then Query_Picture.Delete else Query_Picture.Next; until Query_Picture.Eof; {ende vom if} |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Danke. Werde das ausprobieren.
Ben |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Leider läßt sich das Problem so auch nicht lösen.
Ich glaube es liegt daran, das Delete nach dem Löschen auf den nächsten Datensatz springen möchte. Genau das ist aber nicht möglich, da ja vorher schon alle anderen Datensätze gelöscht wurden. Bin jetzt ziemlich ratlos.. :?: |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Zitat:
Man musste das ADO Update #2 einspielen, um den Bug zu fixen. Hast du zufällig ein Eveenthandler (z.B. AfterScroll) angekoppelt oder ein DBGrid mit eigener OnDrawColumnCell ? |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Nein, hab ich nicht.
Warum? |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Zitat:
Also muss man jetzt von einem Bug innerhalb der VCL ausgehen. |
Re: Problem beim Löschen des letzten Datensatzes aus Query
Ok. Danke. Werde mal sehen wie weit ich mit einem Update komme.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz