16.03.2018, Vladimír Klaus, navštíveno 2336x
Delphi
MS Access
SQL
U jednoho projektu v Delphi dochází (ale pouze při debuggování) k níže uvedené chybě a zatím se mi ji nepodařilo korektně vyřešit. Zobrazování této výjimky jsem tedy alespoň vypnul. Návody dostupné na internetu jsou hodně staré nebo nedávají v tomto případě smysl.
Project xxxxx.exe raised exception class EOleException with message 'Příznak BOF nebo EOF má hodnotu True nebo byl odstraněn aktuální záznam. Požadovaná operace vyžaduje aktuální záznam'.
Původní znění: Either BOF or EOF is true, or the current record has been deleted. Requested operation requires a current record.
Situace:
- cxGrid mřížka napojená na ADOQuery a včetně SyncMode=true
- v dotazu je pouze "SELECT * FROM Otazky"
- pomocí mřížky vyfiltrování několika záznamů
- postupné aktualizace záznamů tak, aby nevyhovovaly filtru => z mřížky mizí
- po zmizení posledního dojde k chybě
Aktualizace záznamů se provádí takto a k chybě dojde při volání Post.
QueryOtazky.Edit;
QueryOtazkyHodnoceni.Value:=1;
QueryOtazky.Post;