![]() |
Fehlermeldung: Entweder bof oder eof ist true, oder ...
Hi,
ich hab eine adotable, diese wird mittels der filter funktion nach allen einträgen die in einem bestimmten booleschen feld true haben gefiltert. Das funktioniert soweit auch alles wunderbar, auch das setzten des booleschen feldes auf false funktioniert solange mehr als ein eintrag vorhanden ist. Sobald allerdings nur noch ein eintrag vorhanden ist, der dem filter entspricht, bekomm ich beim ändern des booleschen feldes und darauffolgendem aufrufen von adotable.post die Fehlermeldung: "Entweder BOF oder EOF ist TRUE, oder der aktuelle Datensatz wurde gelöscht." Was kann ich dagegen machen?? Wenn bereits zu beginn kein datensatz den kriterien entspricht funktioniert alles nur wenn ich den letzten datensatz so verändere das er den kriterien nicht mehr entspricht bekomm ich diese fehlermeldung. Eigentlich soll er nur die änderung übertragen und die Anzeige im dbgrid dann aktualisieren. MFG Blizzard |
Hallo,
die ADO Express-Version von Delphi 5 war fehlerbehaftet, allerdings machte sich dieser Fehler bei den alten MDAC-Versionen nicht bemerkbar. Bei neueren MDAC-Versionen hat Microsoft die Plausibilitäts-Prüfungen verschärft, so dass dieser Bug nun mit der o.g. Meldung von den nativen ADO-Objekten (Microsoft) "angemeckert" wird. Um das Problem zu beseitigen, muss in Delphi 5 das ADO Express-Patch d5adoupdate2.exe eingespielt werden, um dann das Projekt neu zu compilieren. |
Ich verwende Delphi 6 besteht da das problem auch noch und gibt es einen patch dafür??
|
Hallo Blizzard,
keine echte Lösung für Dein Problem, aber schau doch mal, ob ein Filter überhaupt nötig ist. In vielen Fällen, besonders bei größeren Datenmengen, ist es nämlich sinnvoller, nicht mit einer Tabelle, sondern mit einem Dataset zu arbeiten, dessen Datenmenge mit der SQL Klausel 'WHERE ...' eingeschränkt werden kann. Es werden dann auch nur die angeforderten Daten übertragen. Das Problem taucht dann nicht mehr auf, da der Dataset nach Änderung einfach komplett neu geladen wird. In Deinem Fall ergibt das eben eine leere Datenmenge - ohne Fehlermeldung allerdings. gruß, harrybo |
Hallo Blizzard,
vielleicht hilft ein Update auf MDAC 2.7 SP 1. Es ist die neueste Version, die WinzigWeich anbietet. Eventuell würde ich einmal im Download-Center von Borland vorbeischauen ob es dort ein Update gibt. Da ich kein D6 habe, weiss ich es nicht. Sollte das alles nicht helfen, bleibt nur noch ein Blick in das ![]() |
@harrybo:
ich hatte mich eingentlich für ne table und indexfields entscheiden weil ich irgendwo gelesen hatte, dass das vorallem bei großen daten banken schneller sein soll. Ich werd deinen vorschlag abe mal testen so groß is meine db nun auch wieder nicht. @gollum: wo bekomm ich das MDAC 2.7 SP1 her?? |
Hallo,
![]() Direkt auf der Startseite findest Du einen weiterführenden Link. Er ist nicht zu übersehen ;-) |
:idea: Thx an Alle! Hatte auch das Problem und ich dachte schon, dass macht mich noch irre. :freak:
Me use D5(Enterprise) UP1 und hab ADO Update Pack 1 nachinstalliert. Nun geht das mit dem "ADOTable". ENDLICH!! ~Flax~ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 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