Data.DB.TBCDField
Delphi
TBCDField = class(TNumericField)
C++
class PASCALIMPLEMENTATION TBCDField : public TNumericField
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | Data.DB.pas Data.DB.hpp |
Data.DB | Data.DB |
Beschreibung
TBCDField wird für ein binärcodiertes Dezimalfeld (BCD) in einer Datenmenge verwendet.
TBCDField kapselt das fundamentale Verhalten von binärcodierten Dezimalfeldern (BCD). BCD-Werte bieten eine größere Präzision und Genauigkeit als Gleitkommazahlen. BCD-Felder werden normalerweise für die Speicherung und Bearbeitung von Währungswerten eingesetzt.
Die IDE verwendet zwei verschiedene Feldtypen für BCD-Felder: TBCDField und TFMTBCDField. TBCDField verwendet den Typ currency (Delphi) bzw. System::Currency (C++) zur Bearbeitung von BCD-Werten. Dies ist schneller als den Wert in einem echten BCD-Typ zu speichern und zu bearbeiten, schränkt aber die Genauigkeit von BCD-Werten auf 4 Dezimalstellen und 20 signifikante Stellen ein.
TBCDField konvertiert die Daten eines BCD-Wertes beim Übertragen aus einer Datenbanktabelle in einen currency-Wert und beim Zurückschreiben der Daten von einem currency-Wert in einen binärcodierten Dezimalwert. Wenn die zugrunde liegende Tabelle Werte enthält, für die eine größere Genaugikeit erforderlich ist, löst TBCDField eine Exception aus. Wenn Sie BCD-Werte mit mehr als 4 Dezimalstellen oder 20 signifikanten Stellen benötigen, sollten Sie satt dessen TFMTBCDField verwenden. TFMTBCDField ist ein echtes BCD-Feld mit der Genaugikeit des binärcodierten Dezimaltyps (TBCD), aber etwas geringerer Ausführungsgeschwindigkeit.
Wenn Sie zur Entwurfszeit mit dem Felder-Editor eine persistente Feldkomponente für das BCD-Feld erstellen, können Sie zur Laufzeit über den Namen darauf zugreifen. Verwenden Sie dynamische Feldomponenten, so haben Sie über die Eigenschaft Fields oder die Methode FieldByName der Datenmenge Zugriff auf die TBCDField-Instanz.