Data.DB.TDataSet.SetFields
Delphi
procedure SetFields(const Values: array of const);
C++
void __fastcall SetFields(const System::TVarRec *Values, const int Values_High);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
レコード内のすべてのフィールドに値を設定します。
SetFields を呼び出すと、アクティブ レコードの一部またはすべてのフィールドに対して、一度に値を設定することができます。
Values には、各フィールドに挿入する値が格納されています。Values は、データセットを基とするテーブルまたはテーブル群における、列の順番をベースに、レコードに割り当てられていきます。これらの値で可能なのは、リテラル、変数、NULL、または nil(Delphi)です。Values に格納されている値が、レコードにあるフィールドより少ない場合、値が用意されなかったレコードについては、すべて NULL 値が割り当てられます。そのようなフィールドでは、NULL 値で既存の値が上書きされます。
C++ では、Values_Size は、Value 配列における最後の値のインデックスです(値の総数より 1 つ少なくなります)。
SetFields を呼び出す前に、Edit を呼び出して、データセットを dsEdit 状態に設定します。SetFields を呼び出した後、Post を呼び出して、変更をデータベースまたは変更ログに書き込みます。
メモ: 一部のフィールドに値を設定し、その他のフィールドについては、既存の値をそのまま維持するには、nil(Delphi)または NULL(C++)(C++ では明示的に void * にキャストして)を、変更したくない各フィールドに渡します。