チュートリアル:FireDAC RAD サーバー クライアント アプリケーションを実装する

提供: RAD Studio
移動先: 案内検索

RAD サーバー クライアント アプリケーション への移動


EMS パッケージを使用してあらかじめセットアップした開発用 FireDAC API を通じて EMS サーバーに接続するクライアントを作成することができます。

これは、「チュートリアル:FireDAC EMS リソースを実装する」で作成したリソースを使用する、クライアント サンプル アプリケーションです。

VCL アプリケーションを作成し、TDataModule をプロジェクトに追加します:

  • Delphi の場合:


  1. [ファイル|新規作成|VCL フォーム アプリケーション - Delphi]
  2. [プロジェクト マネージャ]で右クリックして[新規追加|その他...|新規作成]
  3. [Delphi プロジェクト|Delphi ファイル|データ モジュール]を選択して[OK]をクリック
  • C++ の場合:


  1. [ファイル|新規作成|VCL フォーム アプリケーション - C++Builder]
  2. [プロジェクト マネージャ]で右クリックして[新規追加|その他...|新規作成]
  3. [C++Builder プロジェクト|C++Builder ファイル|データ モジュール]を開き、[OK]をクリックします。

TDataModule 上に、EMS サーバーから受け取った JSON データを扱うために必要な FireDAC コンポーネントを配置します。

以下のコンポーネントを追加します。

  • 1 つの TFDGUIxWaitCursor コンポーネント
  • 1 つの TFDSchemaAdapter コンポーネント - JSON の結果に使用するアダプタ。
  • 2 つの TFDTableAdapter コンポーネント - 2 つのテーブルの内容に使用するアダプタ。
    • DatSTableName プロパティで、 TFDQueries の名前を TDataModule から設定します。このチュートリアルの場合、QEmployeeQCustomers を使用します。
    • SchemaAdapter プロパティに TFDSchemaAdapter の名前を設定します。
  • 2 つの TFDMemTable コンポーネント。
    • 名前を mtEmployeesmtCustomers に設定します。
    • Adapter プロパティに、対応する TFDTableAdapter の名前を設定します。
    • CachedUpdates プロパティを True に設定します。テーブルからの情報を更新するには、このオプションを有効にする必要があります。
  • 2 つの TDataSource コンポーネント。
    • DataSet プロパティに、対応する TFDMemTable の名前を設定します。
ClientModuleSample.png

クライアント フォームでは、implementation セクションに TDataModule が含まれています:

  • Delphi の場合:
implementation

{$R *.dfm}

uses Unit3;
  • C++ の場合(Unit1.cpp ファイル内):
#include "Unit2.h"

クライアント フォームに以下のコンポーネントを追加します:

  • 2 つの TDBGrid コンポーネント。テーブルのデータを表示および更新するためのもの。
    • DataSource プロパティに TDataModule のデータソースを設定します。データをグリッドに表示するために必要な設定です。
  • 2 つの TButton コンポーネント。データを取得するためと、更新を送信するためのもの。
  • 1 つの TEMSProvider コンポーネント。EMS サーバーに対する構成を設定するためのもの。
    • URLHost にサーバーの IP を設定します。デフォルト値は localhost です。
    • URLPort にサーバーのポートを設定します。デフォルト値は 8080 です。
  • 1 つの TEMSFireDACClient。クライアントの TDataModule から TFDSchemaAdapter に接続するためのもの。
    • Provider プロパティに TEMSProvider の名前を設定します。
    • Resource プロパティにアクセスしたいリソースの名前を設定します。 このチュートリアルの場合、FireDACTest を使用します。
    • SchemaAdapter プロパティに TDataModule の TFDSchemaAdapter の名前を設定します。たとえば ClientModule.FDSchemaAdapter2 などです。
  • 1 つの TActionList コンポーネント。データを取得したり更新するアクションを定義するためのもの。
    • 右クリックして[アクション リストの設定...]を選択します。
    • 新しいアクションを 2 つ作成し、アクションの Name プロパティを「ActionGetTables」と「ActionPostUpdates」に変更します。
    • アクションの OnExecute イベント ハンドラをダブルクリックして、手続きを作成します。

GetTablesExecute 手続きのコードを次のように記述します。

  • Delphi の場合:
procedure TClientForm.ActionGetTablesExecute(Sender: TObject);
begin
  EMSFireDACClient1.GetData;
end;
  • C++ の場合(Unit1.cpp ファイル内):
void __fastcall TForm1::ActionGetTablesExecute(TObject *Sender) {
	EMSFireDACClient1->GetData();
}

PostUpdatesExecute 手続きのコードを次のように記述します。

  • Delphi の場合:
procedure TClientForm.ActionPostUpdatesExecute(Sender: TObject);
begin
  EMSFireDACClient1.PostUpdates;
end;
  • C++ の場合(Unit1.cpp ファイル内):
void __fastcall TForm1::ActionPostUpdatesExecute(TObject *Sender) {
	EMSFireDACClient1->PostUpdates();
}
  • Get Tables(データ取得用)ボタンの Action プロパティを ActionGetTables に、OnClick イベント ハンドラを ActionGetTablesExecute に設定します。
  • Post Updates(更新送信用)ボタンの Action プロパティを ActionPostUpdates に、OnClick イベント ハンドラを ActionPostUpdatesExecute に設定します。

新しい EMS FireDAC アプリケーションのテスト

開発環境でプロジェクトをテストするには、FireDAC EMS リソースが自分の EMS サーバー上で稼働しているかどうか確認します。

  1. プロジェクトを実行するには、F9 キーを押すか、[実行|実行]を選択します。
  2. [ActionGetTables]ボタンをクリックして、データベースdからデータを取得します。
  3. なんらかの値を更新したら、[ActionPostUpdates]ボタンをクリックして、データベースに新しいっデータを保存します。

関連項目