AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Zugriff auf Memtable über Query
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Memtable über Query

Ein Thema von schaumermal · begonnen am 24. Jul 2022 · letzter Beitrag vom 25. Jul 2022
Antwort Antwort
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#1

Zugriff auf Memtable über Query

  Alt 24. Jul 2022, 10:50
Datenbank: FireDAC • Version: 1 • Zugriff über: Query
Hallo zusammen,

ich habe ein Programm welches mit FD MemTables arbeitet.
Nun möchte ich über eine Funktion auf die Tabelle zuzugreifen um Summen zu ermitteln


Select Sum (Amount) As Total from FDMemPosition Where FromWarehouseID = '+ QuotedStr(Warehouse) + ' And ArtNo = '+QuotedStr(ArtNo)

Ist sowas überhaupt möglich?
Falls Ja, wie lautet denn der Name der Tabelle?

In der Komponente der MemTable habe ich keinen Tabellennamen gefunden oder geht so was gar nicht.

Geändert von schaumermal (24. Jul 2022 um 11:14 Uhr)
  Mit Zitat antworten Zitat
mlc42

Registriert seit: 9. Feb 2013
123 Beiträge
 
#2

AW: Zugriff auf Memtable über Query

  Alt 24. Jul 2022, 12:04
Ja man kann das machen

dafür benötigt man eine SQLite Connection (Intern arbeitet LocalSQL mit SQLite) und ein TFDLocalSQL

z.B.:

AConnectionLocalSQL := TFDConnection.Create(Application);
AConnectionLocalSQL.ConnectionName := 'MEMORY';

AConnectionLocalSQL.Params.Values['DriverID'] := 'SQLite';

AConnectionLocalSQL.LoginPrompt := False;
AConnectionLocalSQL.Connected := True;

ALocalSQL := TFDLocalSQL.Create(Application);
ALocalSQL.Connection := AConnectionLocalSQL;
ALocalSQL.Active := True;

//jede Memorytabelle muss dann registriert werden
ALocalSQL.DataSets.Add.DataSet:=MyDataSet;

Zugriff innerhalb des SQL Ausdruckes dann über den Objektnamen selbst.
  Mit Zitat antworten Zitat
ol1uw

Registriert seit: 24. Jul 2004
Ort: Freiberg
68 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Zugriff auf Memtable über Query

  Alt 24. Jul 2022, 16:53
ja oder man benutzt Aggregates

Delphi-Quellcode:
with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  Active := True;
end;
with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  IndexName := 'by_deps';
  Active := True;
end;
FDMemTable1.IndexName := 'by_deps';
FDMemTable1.AggregatesActive := True;

Label1.Caption := 'Total payments : ' + VarToStr(FDMemTable1.Aggregates[0].Value);
Label2.Caption := 'Current department payments : ' + VarToStr(FDMemTable1.Aggregates[1].Value);
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: Zugriff auf Memtable über Query

  Alt 25. Jul 2022, 05:13
Hallöle...
...aber bitte ohne WITH.
Denkt immer daran... es lesen auch Kinder mit.
  Mit Zitat antworten Zitat
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zugriff auf Memtable über Query

  Alt 25. Jul 2022, 10:38
Hallo zusammen,

ich habe noch nie mit Aggregates gearbeitet und mir diese eben angeschaut.
Ich habe hier eher den Eindruck gewonnen, dass es sehr ähnlich einem berechneten Feld ist UND nicht für die Ermittlung von Daten über mehrere Zeilen hinweg genutzt werden kann.

'Sum (Amount) Where FromWarehouseID = 1 And ArtNo = 99'

Ich will ja die Summe aller Werte aus der Spalte Amount ermitteln, wenn gewisse Felder übereinstimmen. In dem obigen Beispiel also WarehouseID und ArtNo.

Ist sowas auch möglich?
Jeder Versuch ist bisher gescheitert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zugriff auf Memtable über Query

  Alt 25. Jul 2022, 11:05
Aggregates in FireDAC sind vermutlich bestimmt was Ähnliches, wie Aggregates oder Window-Functions im DBMS ... drum heißen sie wohl zufällig genauso und machen ausversehn das, wonach sie benannt sind "Zusammenfassen"

Rate mal was SUM ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von ergeka
ergeka

Registriert seit: 5. Mär 2010
Ort: Karlsruhe
30 Beiträge
 
Delphi 12 Athens
 
#7

AW: Zugriff auf Memtable über Query

  Alt 25. Jul 2022, 11:08
Da hat mir das Thema 'Local SQL' weiter geholfen.

Gruß

Ralf
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:25 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