FireDAC.Phys.MongoDBDataSet.TFDMongoQuery.Constraints

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

Delphi

property Constraints: TCheckConstraints read FConstraints write SetConstraints stored IsCS;

C++

__property Constraints;

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Phys.MongoDBDataSet.pas
FireDAC.Phys.MongoDBDataSet.hpp
FireDAC.Phys.MongoDBDataSet TFDMongoQuery

説明

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

FireDAC.Phys.MongoDBDataSet.TFDMongoQuery.Constraints は FireDAC.Comp.DataSet.TFDDataSet.Constraints を継承しています。以下の内容はすべて FireDAC.Comp.DataSet.TFDDataSet.Constraints を参照しています。

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;

関連項目