Einzelnen Beitrag anzeigen

FatPap

Registriert seit: 23. Jul 2013
Ort: Österreich
17 Beiträge
 
Delphi XE6 Architect
 
#5

AW: Daten von versch. Quellen zusammenfassen mit Dataset?

  Alt 6. Jun 2014, 09:35
Danke für die ausführlichen Antworten

Zitat:
Professional ... da ist das nicht mit dabei
Was ist damit gemeint?
edit: Du meintest wahrscheinlich die XE2 Version. Ja ich verwende Professional.

Ich hatte gerade ein Gespräch mit dem Chef.

Wir stellten fest dass es ungünstig ist immer von verschiedenen Quellen abzufragen. Deshalb wird auf dem Server auch eine lokale Datenbank (sqlite) zur Anwendung kommen in der sämtliche Daten der verschiedenen Anlagen eingetragen werden.
Für den Umgang mit sqlite habe ich einen Delphi Wrapper -> https://github.com/plashenkov/SQLite3-Delphi-FPC

Am server werden die Daten dann so abgefragt:
Delphi-Quellcode:
var Statement : TSQLite3Statement;
begin
  Statement := Database.Prepare('SELECT * from table where bla bla bla');
  while Statement.Step = SQLITE_ROW do
  begin
    RecordOderSonstwas.Feld0 := Statement.ColumnText(0);
    RecordOderSonstwas.Feld1 := Statement.ColumnText(1);
    usw...
  end;
end;

Zum Übertragen verwende ich die INDY_10 Komponente TIdTCPServer und TIdTCPClient.
Also stellt sich für mich jetzt die Frage was nehmen für "RecordOderSonstwas" (bzw. warum die Daten nicht einfach im Statement lassen und direkt übertragen) und in welcher Form übertragen?

Wie ich einen Record mit dem TCPServer übertrage hab ich schon herausgefunden:
Delphi-Quellcode:
procedure TFrmStart.TCP_SERVERExecute(AContext: TIdContext);
var Buf : TidBytes;
begin
  Buf := RawToBytes(einRecord, Sizeof(einRecord));
  AContext.Connection.IOHandler.Write(Buf);
end;
Ich und google werden sich jetzt mal mit Datasnap und TClientDataSet auseinandersetzen.

Geändert von FatPap ( 6. Jun 2014 um 09:49 Uhr)
  Mit Zitat antworten Zitat