Tutorial: Implementieren einer FireDAC-Client-Anwendung in RAD Server

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu RAD Server-Client-Anwendung


Sie können einen Client für die Verbindung zum EMS-Server über die FireDAC-Entwickler-API erstellen, die Sie zuvor mit einem EMS-Package eingerichtet haben.

Diese Client-Beispielanwendung basiert auf der Ressource, die im Tutorial: Implementieren einer FireDAC-EMS-Ressource erstellt wurde.

Erstellen Sie eine VCL-Anwendung und fügen Sie dem Projekt ein TDataModule hinzu:

  • Für Delphi
  1. Datei > Neu > VCL-Formularanwendung - Delphi.
  2. Klicken Sie in der Projektverwaltung mit der rechten Maustaste, und wählen Sie Neue hinzufügen > Weitere > Objektgalerie.
  3. Wählen Sie Delphi-Projekte > Delphi-Dateien > Datenmodul, und klicken Sie auf OK.
  • Für C++:
  1. Datei > Neu > VCL-Formularanwendung - C++Builder.
  2. Klicken Sie in der Projektverwaltung mit der rechten Maustaste, und wählen Sie Neue hinzufügen > Weitere > Objektgalerie.
  3. Gehen Sie zu C++Builder-Projekte > C++Builder-Dateien > Datenmodul und klicken Sie auf OK.

Platzieren Sie im TDataModule die FireDAC-Komponenten, die Sie für die Verarbeitung der JSON-Daten vom EMS-Server benötigen.

Fügen Sie die folgenden Komponenten hinzu:

  • Eine TFDGUIxWaitCursor-Komponente.
  • Eine TFDSchemaAdapter-Komponente zum Anpassen des JSON-Ergebnisses.
  • Zwei TFDTableAdapter-Komponenten zum Anpassen des Inhalts der beiden Tabellen.
    • Setzen Sie die Eigenschaft DatSTableName auf den Namen von TFDQueries aus dem TDataModule. Verwenden Sie QEmployee und QCustomers für dieses Tutorial.
    • Setzen Sie die Eigenschaft SchemaAdapter auf den Namen des TFDSchemaAdapter.
  • Zwei TFDMemTable-Komponenten.
    • Setzen Sie die Namen auf mtEmployees und mtCustomers.
    • Setzen Sie die Eigenschaft Adapter auf den Namen des entsprechenden TFDTableAdapter.
    • Setzen Sie die Eigenschaft CachedUpdates auf True. Sie müssen diese Option aktivieren, damit die Informationen aus den Tabellen aktualisiert werden.
  • Zwei TDataSource-Komponenten.
    • Setzen Sie die Eigenschaft DataSet auf den Namen der entsprechenden TFDMemTable.
ClientModuleSample.png

Fügen Sie im Client-Formular das TDataModule in den implementation-Abschnitt ein:

  • Für Delphi:
implementation

{$R *.dfm}

uses Unit3;
  • Für C++ (In der Datei Unit1.cpp):
#include "Unit2.h"

Fügen Sie dem Client-Formular die folgenden Komponenten hinzu:

  • Zwei TDBGrid-Komponenten zum Anzeigen und Aktualisieren der Daten aus den Tabellen.
    • Setzen Sie die Eigenschaft DataSource auf die Datenquelle im TDataModule. Dieser Schritt ist erforderlich, um die Daten in der Tabelle anzuzeigen.
  • Zwei TButton-Komponenten: eine zum Abrufen der Daten und die andere zum Eintragen der Aktualisierungen.
  • Eine TEMSProvider-Komponente, um die Konfiguration auf den EMS-Server zu setzen.
    • Setzen Sie URLHost auf die IP-Adresse des Servers (standardmäßig localhost).
    • Setzen Sie URLPort auf den Port des Servers (standardmäßig 8080).
  • Eine TEMSFireDACClient-Komponente für die Verbindung zum TFDSchemaAdapter aus dem Client-TDataModule.
    • Setzen Sie die Eigenschaft Provider auf den Namen des TEMSProvider.
    • Setzen Sie die Eigenschaft Resource auf den Namen der Ressource, auf die Sie zugreifen möchten. Verwenden Sie FireDACTest für dieses Tutorial.
    • Setzen Sie die Eigenschaft SchemaAdapter auf den Namen des TFDSchemaAdapter aus dem TDataModule, z. B. ClientModule.FDSchemaAdapter2.
  • Eine TActionList-Komponente zum Definieren von Aktionen zum Abrufen und Aktualisieren der Daten.
    • Klicken Sie mit der rechten Maustaste, und wählen Sie Aktionslisten-Editor....
    • Erstellen Sie zwei neue Aktionen, und ändern Sie die Eigenschaft Name der Aktionen in ActionGetTables und ActionPostUpdates.
    • Doppelklicken Sie auf die Ereignisbehandlungsroutine OnExecute der Aktionen, um die Prozeduren zu erstellen.

Geben Sie den Code für die Prozedur GetTablesExecute ein:

  • Für Delphi:
procedure TClientForm.ActionGetTablesExecute(Sender: TObject);
begin
  EMSFireDACClient1.GetData;
end;
  • Für C++ (In der Datei Unit1.cpp):
void __fastcall TForm1::ActionGetTablesExecute(TObject *Sender) {
	EMSFireDACClient1->GetData();
}

Geben Sie den Code für die Prozedur PostUpdatesExecute ein:

  • Für Delphi:
procedure TClientForm.ActionPostUpdatesExecute(Sender: TObject);
begin
  EMSFireDACClient1.PostUpdates;
end;
  • Für C++ (In der Datei Unit1.cpp):
void __fastcall TForm1::ActionPostUpdatesExecute(TObject *Sender) {
	EMSFireDACClient1->PostUpdates();
}
  • Setzen Sie die Eigenschaft Action der Schaltfläche Get Tables auf ActionGetTables und die Ereignisbehandlungsroutine OnClick auf ActionGetTablesExecute.
  • Setzen Sie die Eigenschaft Action der Schaltfläche Post Updates auf ActionPostUpdates und die Ereignisbehandlungsroutine OnClick auf ActionPostUpdatesExecute.

Testen der neuen EMS-FireDAC-Anwendung

Um Ihr Projekt in einer Entwicklungsumgebung zu testen, stellen Sie sicher, dass die FireDAC-EMS-Ressource auf Ihrem EMS-Server ausgeführt wird.

  1. Um Ihr Projekt auszuführen, drücken Sie F9 oder wählen Start > Start.
  2. Klicken Sie auf die Schaltfläche ActionGetTables, um die Daten aus der Datenbank abzurufen.
  3. Aktualisieren Sie jeden beliebigen Wert und klicken Sie auf die Schaltfläche ActionPostUpdates, um die neuen Daten in der Datenbank zu speichern.

Siehe auch