2016年12月06日

FDMemTable(FireDAC)フィールド定義作成

これは Delphi Advent Calendar  2016 6日目の記事です。

FDMemTableのフィールド定義をIDE上で行う方法は、最近のDelphiでは、”データセットの割り当て..”機能を使うことで、TFDQueryなどから、取り込むことができるようになっていますが、古いもの(XE5以前は無い。XE6,XE7は未確認。XE8以降はあり)では、このメニューが出ません。
このため、フィールドを1つづつ手作業で追加するということになりちょっと面倒です。これをちょっと楽するためのテクニックです。

最近のDelphiの方法
1)FDMemTableで必要なフィールドを取得できるクエリを書いたFDQueryを作成。
2)FDQueryをOpenし、フィールドエディタですべてのフィールを取り込む。
3)FDMemTable上で、右マウスボタンでメニューを表示。
4)"データセット割り当て"を選択。
5)上記、FDQueryを選択。
6)再度、FDMemTable上で、右マウスボタンでメニューを表示。
7)"フィールドエディタ"を選択
8)"フィールドエディタ"上で、右マウスボタンでメニューを表示。
9)"すべてのフィールドを追加"を選択
10)FDQueryのフィールド定義がコピーされる。
以上


古いものでは、4) の"データセット割り当て"が無く、”項目の設定”のみである。
ClientDataSetは、上記と同様の作業ができるので、こちらを使う。
プロパティの関連図けは
ClientDataSet1. ProviderName -> DataSetProvider1
                                                     DataSetProvider1.Dataset -> FDQuery1
1)上記プロパティ設定後、ClientDataSet1上で、右マウスボタンでメニューを表示。
2)”項目の設定”を選択。フィールドエディタが表示される。
3)"フィールドエディタ"上で、右マウスボタンでメニューを表示。
4)"すべてのフィールドを追加"を選択
5)FDQueryのフィールド定義がコピーされる。
6)dfmをエディタ表示する。
7)上記、ClientDataSet1のクラスを、TFDMemTableに変更。
8)エディタからフォーム表示へ
9)プロパティの相違でエラーメッセージが出るが無視。
10)保存で、ClientDataSet1のpas上のクラス定義の相違のメッセージが出るのでOKする。
以上

FDMemTableの活用法は、過去のブログを見てください。



posted by しんくそふと at 00:00| Comment(0) | TrackBack(0) | 開発TIPS
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/177920983
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック