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 のチェックは、Post、AppendRecord、InsertRecord のいずれかのメソッドを使ったデータ編集の終わりに行われます。単一フィールドの値を制限する 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;