1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BDE=>FireDAC変換 TFDMemTable活用

Last updated at Posted at 2023-06-14

(これは、以前ブログに書いていたものをQiitaに加筆、修正し再投稿したものです)

BDE から FireDACへのマイグレーション TFDMemTable活用

BDEで作成されたC/Sモデルでは、データの編集に際して、サーバーからクライアントPCのParadoxのテーブルに一旦コピーして、編集し、その後サーバーに登録するという方法がとられるケースが多い。
また、印刷時に一時的な加工、編集でParadoxのテーブルを使うケースもある。

BDEからFireDACへマイグレーションするときの、上記のような、Paradoxのテーブルをどうするか。
この場合は、TFDMemTableに置き換える。

プログラムでは、TTableコンポーネントを使っていると思うので、.dfmファイルのTTableをTFDMemTable(*1)に書き換える。
(TTableについては、Field定義は事前に取り込んでおく必要はあります)

弊社の今までの実績では、LookupFieldやCalcFieldもそのままの定義、コードで使えます。また、イベントも変更無く使用可能です。
(すべてのイベント、メソッドの確認は行っていません)

注意点としては、TFDMemTableは、オンメモリで処理しますので、データの処理状況確認等が必要な場合は、必要なタイミングでSaveToFile()メソッドなどで、ファイルに出力することになります。
FDQueryで読み込んだデータは、
FDMemTable.Data := FDQuery.Data;
でコピーできます。
処理前は、FDMemTableは、Closeしておくことが必要です。

(*1)Delphiバージョンによっては、TADMemTable (AnyDAC)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?