Data.Win.ADODB.TADOQuery.EnableBCD

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property EnableBCD;

C++

__property EnableBCD = {default=1};

プロパティ

種類 可視性 ソース ユニット
property published
Data.Win.ADODB.pas
Data.Win.ADODB.hpp
Data.Win.ADODB TADOQuery

説明

数値フィールドを、浮動小数点と BCD のどちらで扱うかを示します。

Data.Win.ADODB.TADOQuery.EnableBCD は Data.Win.ADODB.TCustomADODataSet.EnableBCD を継承しています。以下の内容はすべて Data.Win.ADODB.TCustomADODataSet.EnableBCD を参照しています。

数値フィールドを、浮動小数点と BCD のどちらで扱うかを示します。

EnableBCD プロパティを使用すると、フィールドをどのようにフィールド クラスにマップするかを指定することができます。 EnableBCD が True(デフォルト値)の場合、フィールド adDecimal および adNumeric は、フィールド オブジェクトが作成された際に、TBCDField クラスにマップされます。 EnableBCD が False の場合、フィールドは、TFloatField クラスにマップされます。

EnableBCD は、数値フィールドおよび小数フィールドは、浮動小数点値または BCD(2進化10進数)値に変換されます。 BCD 値は、浮動小数点計算に伴う丸めエラーを除去します(3 * (2/3) の結果が 2.00000000001 になるなど)。

永続フィールド オブジェクトを使用する場合(フィールド エディタを使用して作成されたものなど)、指定されたフィールドに関連づけられたフィールド クラスは、EnableBCD の設定と矛盾しても構いません。 たとえば、同じテーブル内の3 つの数値フィールドは、それぞれ、TFloatField、TBCDField、TVariantField で表される場合もあります --- EnableBCD 内の値とは関係なくです。 より高い柔軟性のために、フィールドごとに、フィールド クラスは選択します。

メモ: 小数位で右 4 桁より大きい数値の場合、一般に、TFloatField を使用するとよいでしょう。 これはなぜなら、TBCDField は、小数第4位の固定サイズを持つ、通貨データ型を使用するからです。

メモ: 有効桁数 19 以上の非常に大きな数値のフィールドの場合、TVariantField 型の永続フィールド オブジェクトを使用することができます。 TFloatField や TBCDField クラスは、このサイズのフィールドには十分なサイズがありません。 TVariantField は、このフィールド データを文字列として取得および設定でき、容量不足によるデータ紛失を避けることができます。 しかしながら、TVariantField オブジェクトを介してアクセスした数値には、算術演算を実行することはできません。

関連項目