AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FireDac: Filterbedingung über OnFilterRecord ignoriert Master/Detail
Thema durchsuchen
Ansicht
Themen-Optionen

FireDac: Filterbedingung über OnFilterRecord ignoriert Master/Detail

Ein Thema von Gremlin · begonnen am 18. Jul 2025 · letzter Beitrag vom 4. Aug 2025
 
Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
178 Beiträge
 
Delphi 7 Enterprise
 
#1

FireDac: Filterbedingung über OnFilterRecord ignoriert Master/Detail

  Alt 18. Jul 2025, 09:51
Datenbank: Firebird • Version: 3 • Zugriff über: Delphi 10.2 Firedac
Hallo,


ist euch etwas darüber bekannt, dass eine Master/Detail-Beziehung ignoriert wird, wenn eine Filterbedingung im Detail via OnFilterRecord verwendet wird? Problem: Es werden alle Datensätze der Detail-Datenmenge geladen, mit Auslösen einer EOutOfMemory-Exception, wenn ausreichend viele Details vorhanden sind.

Wird die Datenmenge jedoch über eine Filter := <Ausdruck>-Bedingung gefiltert, so tritt das Problem nicht auf. Leider kann der Filter nicht darüber verwendet werden.
Master und Detail sind jeweils TFDTable, die über eine TFDConnection an einem Firebird 3.x Server verbunden sind. Spezielle Anpassungen wurden nicht vorgenommen. Detail enthält Master als MasterSource, verknüpft über das Feld 'Nr'

Verwendete Tabellen des Demo-Projekts:

Master (ca. 2000 DS)

Nr integer
Name varchar(50)

Detail (ca. 800000 DS)

Nr integer
PosNr integer
Name1
Name2 varchar(50)
Anzahl integer


Die Exception passiert an dieser Stelle (FireDac.DatS.pas)

procedure TFDDatSRowListWithAggregates.AddObjectAt(AObj: TFDDatSObject;
AIndex: Integer);
begin
inherited AddObjectAt(AObj, AIndex);
if FAggregateSlotAllocated > 0 then
AddAggregatesRow(AIndex);
end;


Vielen Dank
Gruss Gremlin
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 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