![]() |
AW: Zugriff auf MYSQL per DBExpress
Zitat:
Also es geht um Dein produziertes Statement. Wenn Du es extra loggst, damit es exakt nachvollziehbar ist, warum postest Du es nicht hier, statt wieder den Code mit Variablen, die niemand kennt. Und wieso sollen die Variablen keine Rolle spielen? Wenn das so wäre, könntest Du sie weglassen. Es geht darum sicherzustellen, dass tatsächlich beide Statements 1000% identisch an die DB geschickt werden. Das ist erfahrungsgemäß keine Selbstverständlichkeit. Ansonsten, wenn Dein Code abgeklopft und korrekt ist, kann man sich mal die Treiber vornehmen bzw. DB Express. Weiß nicht wie da mittlerweile der Stand ist, aber die Zählung bei Queries kann (konnte) wohl durchaus ungenau sein, weil das Verfahren zu Bestimmung über ein (falsch) generiertes Count Statement läuft (lief). |
AW: Zugriff auf MYSQL per DBExpress
Zitat:
Wenn Du sicher wissen willst, was zurückgegeben wird, ist selbst zählen die zuverlässigste Methode. Gruß K-H |
AW: Zugriff auf MYSQL per DBExpress
naja wie bereits geschrieben läuft meine Abfrage ja nun. Das Recordcount der DBX ist definitiv falsch (das hat meines Erachtens ja auch nichts mit dem Statement zu tun). Ich mache nun ein Count über ein SQL Statement. Ist halt doof da das wesentlich langsamer ist wie ein Recordcount.
|
AW: Zugriff auf MYSQL per DBExpress
Zitat:
Ich weiß allerdings nicht, ob das wirklich die Ursache ist. Vielleicht gibt es hier jemand, der die aktuellen Komponenten kennt. |
AW: Zugriff auf MYSQL per DBExpress
Meiner Kenntnis und Erfahrung nach werden bei der Abfrage von RecordCount immer nur die in der Datenmenge des Queries bzw. DataSets befindlichen Datensätze berücksichtigt. Wieviele Datensätze bei einem Select-Befehl aus der Datenbank gelesen werden, hängt von verschiedenen Dataset-Einstellungen ab. Erst ein Dataset.Last sorgt dafür, daß RecordCount alle zum Zeitpunkt der Abfrage vorhandenen Datensätze berücksichtigt. Ein SQL-seitiges Count ist davon unabhängig und zählt die tatsächlich in er DB vorhandenen Datensätze.
|
AW: Zugriff auf MYSQL per DBExpress
Nachdem ich dann viel Zeit mit der Ursachenforschung verbracht habe bin ich mir recht sicher das das Recordcount bei DBX und mysql nicht funktioniert. Dazu habe ich auch noch folgendes gefunden
![]() Ich würde an diese Stelle davon abraten es zu benutzen. Stattdessen muss man bei dbx und mysql wohl auf ein SQL Count() zurückgreifen. |
AW: Zugriff auf MYSQL per DBExpress
Ein 10 Jahre alter Bug und den gibt's immer noch? Das ist aber bitter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 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