Der Fehler tritt bei der Änderung von Strings ja nicht auf. Wie gesagt, es ist nur eine Theorie, weil mir ein Beispiel fehlt (eine kleine Access-DB wäre mal was zum Probieren

)
ADO baut das UPDATE -wie erwähnt- so zusammen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| UPDATE Tabelle SET Feld1=<NeuerWert1>, Feld2=<NeuerWert2> WHERE Feld1=<AlterWert1> AND Feld2=<AlterWert2> AND Feld3=<AlterWert3> ... |
Stell Dir das nun mit FloatingPoint und seinen Macken vor (DezimalWert sei 0.1):
Delphi-Quelltext
1: 2: 3:
| UPDATE Tabelle SET DezimalWert = 1.23 WHERE DezimalWert = 0.1000000000023 |
Wir wissen ja, das 0.1 in floating point nicht 100% exakt dargestellt werden kann... Wie gesagtr, so
könnte es sein und wenn es so wäre, wäre es richtig sch*****.
Ich verwende mittlerweile kaum noch TADODatasets, sondern nur noch Memory-Tables und lade/speichere mir mein Zeugs selbst mit handgebissenen SQL-Befehlen. Damit erreiche ich wesentlich höhere Speicherdurchsätze, da ich UPDATE / INSERT's sammeln kann und dann dieses Skript dann auf einmal zum Server schicke. Weeeeesentlich schneller.
Na denn, dann. Bis dann, denn.