AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Manipulation eines Records in einer FDQuery
Thema durchsuchen
Ansicht
Themen-Optionen

Manipulation eines Records in einer FDQuery

Ein Thema von Ykcim · begonnen am 15. Jun 2023 · letzter Beitrag vom 19. Jun 2023
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#16

AW: Manipulation eines Records in einer FDQuery

  Alt 17. Jun 2023, 22:52
Eventuell ginge aber auch sowas:
Delphi-Quellcode:
procedure TMxSQL.Get_act_MachineData(Machine_ID: string; LStream: TStream; RefreshData, SendData: boolean);
...
begin
...
  OperationsList := DB_Modul.Read_Einstellungswert('Life_Data_OperationList');
  MsQuery.SQL.Add('große Abfrage von oben'); // Neue Abfragen erstellen.
  CDMQuery.SQL.Add('kleine Abfrage von oben');
  MsQuery.Open; // Erste Abfrage öffnen
  CDMQuery.ParamByName('Device').AsString := MsQuery.FieldByName('device_id').AsString; // und in zweiter Abfrage den Parameter setzen.
  CDMQuery.Open; // Die zweite Abfrage öffnen,
  MsQuery.Edit; // die erste Abfrage editieren und den Wert aus der zweiten Abfrage übernehmen.
  MsQuery.FieldByName('Operator').AsString := CDMQuery.FieldByName('userID').AsString;
  MsQuery.SaveToStream(LStream, sfJSON); // unmittelbar nach der Änderung in den Stream schreiben,
  MsQuery.Cancel; // die letzte Änderung verwerfen
  MsQuery.Close; // und die Abfragen schließen.
  CDMQuery.Close;
...
end;
Der Stream enthält immer die aktuellen Daten, so dass bei einer Anforderung durch einen Client nicht jedesmal auf die Query zugegriffen werden muss. Der Inhalt des Streams bleibt ja erhalten und kann beliebig oft an die Clients ausgeliefert werden.

Eigentlich wird nur die Stelle, an der die Query in den Stream geschrieben wird, in deiner ursprünglichen Prozedur an eine andere Stelle verschoben. Der Teil ab  if SendData then begin kann (vermutlich) entfallen.

Hoffentlich liege ich damit nicht allzuweit daneben
  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:57 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