Data.DB.TObjectField.FieldValues
Delphi
property FieldValues[Index: Integer]: Variant read GetFieldValue write SetFieldValue; default;
C++
__property System::Variant FieldValues[int Index] = {read=GetFieldValue, write=SetFieldValue/*, default*/};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | public | Data.DB.pas Data.DB.hpp |
Data.DB | TObjectField |
Beschreibung
Ermöglicht den Zugriff auf die Werte aller untergeordneten Felder des Objektfeldes.
Mit FieldValues können die Werte der Unterfelder eines Objektfeldes ermittelt oder gesetzt werden. FieldValues nimmt eine Variante entgegen und gibt eine solche auch zurück. Das bedeutet, dass Felder eines beliebigen Typs konvertiert und verarbeitet werden können. Beispielsweise sind die folgenden Anweisungen syntaktisch identisch. Es wird immer der Wert aus einem Eingabefeld in ein ADT-Feld geschrieben, zu dem ein untergeordnetes String-Feld namens STREET gehört:
DataSet1.FieldByName('ADDRESS.STREET').Value := Edit1.Text;
TADTField(DataSet1.FieldByName('ADDRESS')).FieldValues[0] := Edit1.Text;
Table1->FieldByName("ADDRESS.STREET")->Value = Edit1->Text;
((TADTField*)Table1->FieldByName("ADDRESS"))->FieldValues[0] = Edit1->Text;
Mit den beiden nächsten Anweisungen wird ein String-Wert aus dem ersten untergeordneten Feld des Objektfeldes ADDRESS in ein Eingabefeld gelesen:
Edit1.Text := DataSet1.FieldByName('ADDRESS').FieldValues[0];
Edit1->Text = ((TADTField*)DataSet1->FieldByName("ADDRESS"))->FieldValues[0];
Anmerkung: Da die Eigenschaft FieldValues immer mit Varianten arbeitet, kann sie langsamer sein als unter Verwendung des nativen Feldformats direkt auf ein Unterfeld zuzugreifen, also z.B. mit der Eigenschaft AsXXX des Feldes. Das gilt besonders für Anwendungen, in denen große Datenmengen verarbeitet werden.