FireDAC.Stan.Option.TFDBottomUpdateOptions.KeyFields

提供: Appmethod Libraries
移動先: 案内検索

Object Pascal

property KeyFields: String read FKeyFields write SetKeyFields;

C++

__property System::UnicodeString KeyFields = {read=FKeyFields, write=SetKeyFields};

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDBottomUpdateOptions

説明

データセットの主キー フィールドを指定します。


KeyFields を使用すると、データセット レコードの主キーを表すフィールドのセミコロン(';')区切りリストを指定できます。これらのフィールド名は引用符で囲まれず、元の結果セット フィールド名と一致する必要があります。KeyFields は、データセットを準備する前または開く前に指定する必要があります。

以下の場合に FireDAC で主キー フィールドを決定できないときは、KeyFields を指定する必要があります。

  • (たとえば、パフォーマンスを上げるために)fiMetaItems に含まれていない場合。
  • ビュー、テーブル結合、主キーが定義されていないテーブルのいずれかから得られた結果セットをアプリケーションで編集する必要がある場合。
  • ストアド プロシージャやその他の SELECT 文以外の SQL 構文要素から得られた結果セットをアプリケーションで編集する必要がある場合。

KeyFields を設定すると、すべての TField.ProviderFlags フィールドから pfInKey が削除され、指定された ProviderFlags フィールドに pfInKey が付加されます。あるいは、pfInKeyTField.ProviderFlags だけをアプリケーションで使用することもできます。ただし、これらのアプローチを両方同時に使用することはできません。

レコード検索条件を作成するには、以下のフィールドを使用します。

  • UPDATE ... WHERE <レコード検索条件> を使ってレコード更新をポストするとき(UpdateMode = upWhereKeyOnly または upWhereChanged の場合)
  • SELECT ... WHERE <レコード検索条件> を使ってレコードを更新するとき

関連項目