Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datsätze werden doppelt im DBGrid angezeigt (https://www.delphipraxis.net/211706-datsaetze-werden-doppelt-im-dbgrid-angezeigt.html)

tkhandel 25. Okt 2022 12:10

Datenbank: easyTable • Version: 18 • Zugriff über: easyTable

Datsätze werden doppelt im DBGrid angezeigt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

wir nutzen in einer kleinen mobilen Anwendung easyTable als lokale Datenbank (BDE Ersatz).
Seit geraumer Zeit habe ich das Problem das sich die Datensatzanzeige im DBGrid verdoppelt.
Also wenn ich Beispielsweise über ein Query eine datensartabfrage starte mit:


btnClick
begin
qryVoicePosLog.close;
qryVoicePosLog.Params[0].Value := qryVoiceAuftragListeNr.AsInteger;
qryVoicePosLog.open;
frmVoiceLog.ShowModal;
qryVoicePosLog.close;
end;

dann ist beim ersten Aufruf alles OK beim zweiten Aufruf steht alle Datensätze doppelt also 2 x untereinander.
anklickbar sind nur die neuen unten.

Der Fehler potenziert sich aber auch nicht weiter, soll heißen egal wie oft ich oncklick Aufrufe die
Datensätze sind max. 2x vorhanden.

Hat jemand eine Idee ? wie ich das abstellen kann, vom Hersteller kommt keine Antwort.

DeddyH 25. Okt 2022 12:16

AW: Datsätze werden doppelt im DBGrid angezeigt
 
Ist das frmVoiceLog auf den Screenshots? Hast Du einmal durchgesteppt und kontrolliert, ob dort nicht vielleicht alte "Datensätze" nicht gelöscht wurden?

P.S.: Gruß von einem Ex-Neheimer

himitsu 25. Okt 2022 12:56

AW: Datsätze werden doppelt im DBGrid angezeigt
 
Gibt es einen ungünstigen JOIN im SELECT?

Klaus01 25. Okt 2022 13:03

AW: Datsätze werden doppelt im DBGrid angezeigt
 
Gegen den Join sprich, dass beim ersten Aufruf die Daten nur einfach vorhanden sind.
Gegen das nicht Löschen der Tabelle spricht, dass sich das Verhalten nicht potenziert.

Ausserdem werden nicht alle Daten verdoppelt, TRF == 005 (ohne Telefonnummer) ist in beiden Fällen nur einfach vorhanden.

tkhandel 25. Okt 2022 13:41

AW: Datsätze werden doppelt im DBGrid angezeigt
 
Hallo,

Danke erst mal für eure Antworten!

nein ein Join ist nicht vorhanden.
Ich glaube das es ein Bug ist in den Komponenten von easyTable.

Habe gerade mal probiert ein refresh zu setzen und siehe da dann geht es.

also mit:

qryVoicePosLog.Active := false;
qryVoicePosLog.Params[0].Value := qryVoiceAuftragListeNr.AsInteger;
qryVoicePosLog.Active := true;
qryVoicePosLog.Refresh;
frmVoiceLog.ShowModal;
qryVoicePosLog.Active := false;

funktioniert es jetzt, warum auch immer.

himitsu 25. Okt 2022 14:06

AW: Datsätze werden doppelt im DBGrid angezeigt
 
Bei DevExpress hatten wir vor 'ner Weile ein entfernt ähnliches Problemchen.

Am Ende hatten wir dem GridView eine ID (Fieldname) vorgegeben, zur Identifizierung/Verwaltung der Datensätze, aber in den Daten war diese "ID" nicht unique (dankt einem JOIN) und das Grid vergriff sich somit.
-> entweder keine ID vorgeben (das Grid selber suchen lasen) oder die richtige Spalte als ID

joachimd 25. Okt 2022 14:57

AW: Datsätze werden doppelt im DBGrid angezeigt
 
bei anderen Systemen schon gesehen, wenn der Index kaputt war.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz