AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Filter geht nicht

Ein Thema von AnonyM.E · begonnen am 28. Sep 2019 · letzter Beitrag vom 30. Sep 2019
 
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.448 Beiträge
 
Delphi 12 Athens
 
#2

AW: Filter geht nicht

  Alt 29. Sep 2019, 07:09
Moin...
Dein Problem hat mehrere Ursachen.

1. Kein Mensch mehr benutzt TTable (oder die Equivalente). Bei einer Tabelle werden immer ALLE Daten geladen. Das mag am Anfang funktionieren, je mehr Daten du hast, wird es immer langsamer.
2. Benutze immer eine Query. Da holst du nur die Daten die du auch benötigst.
3. Bei einer Query benutze immer Parameter!
4. Tu dir selbst einen Gefallen, und benutze sprechende Namen für Variablen, Komponenten und Felder in englisch. Wenn du mal in einem Team arbeiten solltest, mußt du dich nicht umgewöhnen.
Delphi-Quellcode:
// Saldo bestimmen
FDQuery.SQL.Text := 'select Price from PriceTable where PriceDate between :DAF and :DAT';
FDQuery.ParamByName('DAF').AsDateTime := DateFrom; // direkt als Date ohne Konvertierung
FDQuery.ParamByName('DAT').AsDateTime := DateTo; // Ich hoffe nur, daß dein Feld in der Datenbank auch DateTime ist.
FDQuery.Open;

while not FDQuery.Eof do
begin
  Saldo := Saldo + FDQuery.FieldByName('Price').AsFloat;
  FDQuery.Next;
end;
PS: Da ich ohne Filter arbeite, kann ich nur raten. Das Problem liegt mit Sicherheit an der "Konvertierung" der DateTime Daten im Filterstring. Mit Parametern hast du das nicht.

Geändert von haentschman (29. Sep 2019 um 07:18 Uhr)
  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 20:36 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