FireDAC.Comp.DataSet.TFDDataSet.Constraints

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

Delphi

property Constraints: TCheckConstraints read FConstraints write SetConstraints stored IsCS;

C++

__property Constraints = {stored=IsCS};

プロパティ

種類 可視性 ソース ユニット
property public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet


説明

Constraints を使用すると、データセットのレコード レベルの制約を維持管理できます。

レコード レベルの制約では、単一レコード内の少数のフィールドだけを制限することで、ビジネス ルールを強制します。Constraints のチェックは、PostAppendRecordInsertRecord のいずれかのメソッドを使ったデータ編集の終わりに行われます。単一フィールドの値を制限する Constraints は、CustomConstraint プロパティまたは ImportedConstraint プロパティを使って指定することができます。

Constraints は、テーブルを開く前に定義されている場合にのみ適用されます。

Constraints のチェックは、ConstraintsEnabled プロパティが True の場合に行われます。アプリケーションでデータセットに対して大量の更新を実行する必要があり、データの整合性をアプリケーション側で保証できる場合は、ConstraintsEnabled プロパティを False に設定します。更新の実行後に元の値に戻すことができます。Constraints は、データ取得時にはチェックされません。

Constraints に含まれている式は述語、つまり論理値として評価されるものでなければなりません。FireDAC でサポートしている式の構文は、以下と互換性があります。

  • クライアント データセット
  • Oracle 8(完全な互換性ではありません)

式の構文の詳細については、「式の作成」を参照してください。

with FDQuery1.Constraints.Add do begin
	CustomConstraint:='sal + bonus <= 2000';
	ErrorMessage:='従業員の支払は 2000 USD 以下でなければなりません';
end;
FDQuery1.ConstraintsEnabled:=true;

FDQuery1.Open();
	// 制約が定義された後にクエリを開く
try
  FDQuery1.FieldByName('sal').AsFloat := 1800;
  FDQuery1.FieldByName('bonus').AsFloat := 300;
  FDQuery1.Post;
except
  FDQuery1.Cancel;
  Application.HandleException(Self);
end;

関連項目