OleDbParameter.Scale プロパティ


Value が解決される、小数点以下の桁数を取得または設定します。Gets or sets the number of decimal places to which Value is resolved.

 property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
public byte Scale { get; set; }
public byte Scale { get; set; }
member this.Scale : byte with get, set
member this.Scale : byte with get, set
Public Property Scale As Byte



Value の解決先の小数点以下桁数です。The number of decimal places to which Value is resolved. 既定値は 0 です。The default is 0.



次の例では、を作成 OleDbParameter し、そのプロパティの一部を設定します。The following example creates an OleDbParameter and sets some of its properties.

Public Sub CreateOleDbParameter()  
    Dim parameter As New OleDbParameter("Price", OleDbType.Decimal)  
    parameter.Value = 3.1416  
    parameter.Precision = 8  
    parameter.Scale = 4  
End Sub 'CreateOleDbParameter  
public void CreateOleDbParameter()   
    OleDbParameter parameter = new OleDbParameter("Price", OleDbType.Decimal);  
    parameter.Value = 3.1416;  
    parameter.Precision = 8;  
    parameter.Scale = 4;  


Scaleプロパティは、のメソッドを呼び出し Prepare OleDbCommand て数値の出力パラメーターを指定する前に、decimal および numeric 入力パラメーターにのみ使用されます。The Scale property is only used for decimal and numeric input parameters before calling the Prepare method of the OleDbCommand and to specify numeric output parameters.

このプロパティをデータベースの値以外の値に設定すると、データプロバイダーの実装によって異なり、エラーコード、切り捨て、またはラウンドデータが返される可能性があります。Setting this property to a value other than the value in the database depends on the implementation of the data provider and may return an error code, truncate, or round data.

SQL Server Native Client 10 (またはそれ以降) を使用して、型が、、、、またはであるパラメーターをバインドするには、 Decimal Numeric VarNumeric DBDate DBTimeStamp 適切なスケール値を手動で指定する必要があります。When using SQL Server Native Client 10 (or later), to bind a parameter whose type is Decimal, Numeric, VarNumeric, DBDate, or DBTimeStamp, you must manually specify an appropriate scale value.


このプロパティを使用して、データベースに渡されるデータを強制的に変換することはできません。Use of this property to coerce data passed to the database is not supported. データベースに渡す前にデータを丸め、切り捨て、または強制するには、 Math System パラメーターのプロパティに値を割り当てる前に、名前空間の一部であるクラスを使用し Value ます。To round, truncate, or otherwise coerce data before passing it to the database, use the Math class that is part of the System namespace prior to assigning a value to the parameter's Value property.


.NET Framework バージョン1.0 に含まれている .NET Framework データプロバイダーで Precision は、 Scale パラメーター値のまたはは検証されません Decimal.NET Framework data providers that are included with the .NET Framework version 1.0 do not verify the Precision or Scale of Decimal parameter values. これにより、データソースに切り捨てられたデータが挿入される可能性があります。This can cause truncated data to be inserted at the data source. .NET Framework バージョン1.0 を使用している場合は PrecisionOleDbParameter Decimal パラメーター値を設定する前に、値のおよびを検証してください。If you are using .NET Framework version 1.0, validate the Precision and OleDbParameter of Decimal values before setting the parameter value. ScaleDecimalパラメーターの小数点以下桁数を超える値は切り捨てられます。Scale values that exceed the Decimal parameter scale are still truncated.