Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FireDAC Merkwürdigkeiten (https://www.delphipraxis.net/207965-firedac-merkwuerdigkeiten.html)

haentschman 24. Mai 2021 07:54

AW: FireDAC Merkwürdigkeiten
 
Moin...:P

Interessant, das man Probleme findet, die so niemals in den Kopf kamen...:P
Zitat:

Soll es so sein, dass nur auf DSBrowse (und kein anderer State) geprüft wird?
Zitat:

scheint mir das Ignorieren der Locate Rückgabe suboptimal zu sein
Zitat:

Für eine stabile Netzwerkverbindung sorgen.
Zitat:

Dann scheitert es mindestens an der Relationslogik oder aber an DB Constraints
...die Zeilen stammen aus der alten Codebasis. Ich konnte mich leider noch nicht darum kümmern. :? Das sieht man an dem vorhandenem Locate. :kotz:
Unabhängig davon ist mir ehrlich gesagt das mit der nicht behandelten Funktionsrückgabe nicht aufgefallen...:oops: Es wird später alles auf Objekte und SQL umgebaut. Dann habe ich andere Probleme...:stupid:

Ihr braucht nicht mehr die Ursache finden...es gibt wichtigere Baustellen.

Danke. :wink:

jobo 24. Mai 2021 14:54

AW: FireDAC Merkwürdigkeiten
 
Ich finde jetzt Locate nicht so schlimm, richtig angewendet. Heute würde ich es nicht mehr nutzen, aber hab ich mal, vor 20 Jahren. Das ist ja eigentlich eine der guten Seiten an Delphi, seine Kompatibilität/Beständigkeit.
Du gehst ja mit deinem eigenen Objekt und Storage Layer andere Wege, geht halt auch.
Aber es geht für mich an den mächtigen DB Features von Delphi vorbei. Alles da, was man braucht.

haentschman 25. Mai 2021 07:56

AW: FireDAC Merkwürdigkeiten
 
Moin...:P
Zitat:

Ich finde jetzt Locate nicht so schlimm
Mit MSSQL hatte schon mehrfach meine Probleme. Sowohl in der alten Firma als auch jetzt. Das Locate kam False zurück obwohl der Datensatz definitiv vorhanden war. :roll:
Deshalb schmeiße ich die raus...

Uwe Raabe 25. Mai 2021 09:08

AW: FireDAC Merkwürdigkeiten
 
Zitat:

Zitat von haentschman (Beitrag 1490060)
Mit MSSQL hatte schon mehrfach meine Probleme. Sowohl in der alten Firma als auch jetzt. Das Locate kam False zurück obwohl der Datensatz definitiv vorhanden war. :roll:
Deshalb schmeiße ich die raus...

Na ja, auch eine Art der Fehlerbeseitigung.

Wobei ich Locate schon immer (BDE, dbExpress, FireDAC) und mit verschiedenen Datenbanken ohne Probleme genutzt habe und das auch jetzt noch tue. Eine inhärente Fehlfunktion würde ich daher eher ausschließen.

jobo 25. Mai 2021 18:17

AW: FireDAC Merkwürdigkeiten
 
Zitat:

Zitat von haentschman (Beitrag 1490060)
Moin...:P
Zitat:

Ich finde jetzt Locate nicht so schlimm
Mit MSSQL hatte schon mehrfach meine Probleme. Sowohl in der alten Firma als auch jetzt. Das Locate kam False zurück obwohl der Datensatz definitiv vorhanden war. :roll:
Deshalb schmeiße ich die raus...

Mmh, solche pauschalen Aussagen sind leider schwer nachvollziehbar, dient schlimmstenfalls der Legendenbildung.
Es gibt ja noch ein paar Optionen für Locate und die Kombination mit Filter. Da kann schon was schief gehen beim Coden.
Es gab auch mal in bestimmten Fällen einen Bug bei zeitgleich gesetzten Filtern, was aber eher den umgekehrten Effekt hatte den Du beschreibst, es gab True zurück, obwohl der Datensatz außerhalb der Filtermenge lag.
Würde mich da eher Uwe anschließen.

haentschman 26. Mai 2021 06:05

AW: FireDAC Merkwürdigkeiten
 
Zitat:

Mmh, solche pauschalen Aussagen sind leider schwer nachvollziehbar
... kann ich jetzt nicht beweisen. Aber es gab damals mehrere Zeugen...mit offenen Augen. :P

PS: wir reden über MSSQL!
damals:
1. Vor dem Locate in die Query geguckt (Grid auf die Form...gefiltert oder nicht) -> Datensatz vorhanden!
2. Query.Locate -> False
...Logic im Ar...:roll:

Erklären kann ich das nicht. Damals war es ADO. Aber bei FireDAC habe ich es einmal auch gesehen. Imho tritt das nicht grundsätzlich auf. Ich habe nie herausgefunden welche Konstellation schief gelaufen ist. :? Vieleicht ist MSSQL das Problem. :gruebel:

Nach Umbau auf ein "select" gab es nie wieder Probleme.

Jetzt reden wir nicht mehr darüber...:wink:

Frickler 26. Mai 2021 08:55

AW: FireDAC Merkwürdigkeiten
 
Zitat:

Zitat von jobo (Beitrag 1490001)
Ich finde jetzt Locate nicht so schlimm, richtig angewendet. Heute würde ich es nicht mehr nutzen, aber hab ich mal, vor 20 Jahren. Das ist ja eigentlich eine der guten Seiten an Delphi, seine Kompatibilität/Beständigkeit.

Eine ständig offene Query, in der man per Locate, Edit und Post rumhampelt, hat schon was von TTable...

Ich würde so ein Konstrukt einfach durch eine UPDATE Anweisung ersetzen oder noch besser einen SP-Aufruf, der die eigentliche Datenbankstruktur verbirgt.

DasWolf 26. Mai 2021 12:45

AW: FireDAC Merkwürdigkeiten
 
Probleme beim
Delphi-Quellcode:
Locate
gibt es, wenn Felder in der Datenbank als CHAR oder NCHAR mit einer Länge > 1 definiert sind
und zusätzlich in der FDConnection die Eigenschaft
Delphi-Quellcode:
FormatOptions.StrsTrim
auf False gesetzt ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Seite 2 von 2     12   

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