FireDAC.Comp.DataSet.TFDAutoIncField.ClientAutoIncrement
Delphi
property ClientAutoIncrement: Boolean read FClientAutoIncrement write SetClientAutoIncrement default True;
C++
__property bool ClientAutoIncrement = {read=FClientAutoIncrement, write=SetClientAutoIncrement, default=1};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDAutoIncField |
説明
データセットで新しいレコードの列に自動インクリメント値を生成する必要があるかどうかを指定します。
ClientAutoIncrement プロパティを True(デフォルト値)に設定すると、データセットは新しいレコードの列に自動インクリメント値を生成します。
データセットは内部の自動インクリメント値ジェネレータを使用します。初期値は AutoIncrementSeed と同じです。この値は、新しいレコードごとに AutoIncrementStep を使ってインクリメントされます。データセットが閉じられると、内部自動インクリメント値ジェネレータは AutoIncrementSeed にリセットされます。
これが有益なのは、CachedUpdates が True の場合です。
例
FDQuery1.CachedUpdates := True;
FDQuery1.Open;
FDQuery1.Append;
....
FDQuery1.Post;
// TFDAutoIncField(FDQuery1.Fields[0]).Value -> -1
FDQuery1.Append;
....
FDQuery1.Post;
// TFDAutoIncField(FDQuery1.Fields[0]).Value -> -2
FDQuery1.Append;
....
FDQuery1.Post;
// TFDAutoIncField(FDQuery1.Fields[0]).Value -> -3
FDQuery1.ApplyUpdates;