Hallo,
Ich habe auf einer FDQuery(22k Records) die Eigenschaft
RowSetSize unter
FetchOptions auf
50 gesetzt
und den
Mode entsprechend auf "fmOnDemand" gesetzt.
Diese FDQuery wird bei OnActivate eines Formulars geöffnet.
Wenn ich nach dem Öffnen der
Query einen Haltepunkt setze, sehe ich bei den überwachten Ausdrücken mit "Table.RecordCount" auch die entsprechende Anzahl von 50 Datensätzen.
Alles in Ordnung soweit.
Jedoch muss nun, ohne darauf näher einzugehen, aufgrund bestimmter Rahmenbedingungen eine
zweite FDQuery geöffnet werden.
Sobald die zweite FDQuery(1 Record) geöffnet wird, dauert es erstmal
ungewöhnlich lange,
und PLOPP, auf der ersten FDQuery wurde, aus unersichtlichen Gründen, ein
FetchAll ausgeführt, und die
vollen 22.000 Records wurden heruntergeladen.
Somit habe ich keine Möglichkeit, die Eigenschaft RowSetSize und fmOnDemand ohne größere Umwege zu gehen zu nutzen.
Zur Info: Ich verwende Delphi 10 Seattle. Die zwei Queries befinden sich zusammen in einem von mehreren Datamodulen.
Die beiden Tabellen haben auf dem Server jeweils mind. 1 Primärschlüssel, KEINE Fremdschlüssel.
Die Tabellen stehen keineswegs in Relation. Das EINZIGE was diese Queries gemeinsam haben, ist die FDConnection die sie verwenden.
Ich habe testweise eine andere FDQuery geöffnet, es trat der gleiche Effekt auf.
Könnte das an einer Eigenschaft liegen, die in der FDQuery oder in der FDConnection festgelegt ist?
Könnt ihr das nachproduzieren?
Vielen Dank,
MasterDetail