次の方法で共有


OdbcParameter.Scale プロパティ

定義

Valueが解決される小数点以下の桁数を取得または設定します。

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

プロパティ値

Valueが解決される小数点以下の桁数。 既定値は 0 です。

実装

次の例では、 OdbcParameter を作成し、そのプロパティの一部を設定します。

Public Sub CreateOdbcParameter()
    Dim parameter As New OdbcParameter("Price", OdbcType.Decimal)
    parameter.Value = 3.1416
    parameter.Precision = 8
    parameter.Scale = 4
End Sub
public void CreateOdbcParameter()
 {
    OdbcParameter parameter = new OdbcParameter("Price", OdbcType.Decimal);
    parameter.Value = 3.1416;
    parameter.Precision = 8;
    parameter.Scale = 4;
 }

注釈

Scale プロパティは、10 進入力パラメーターと数値入力パラメーターにのみ使用されます。

このプロパティをデータベース内の値以外の値に設定する効果は、データ プロバイダーの実装によって異なり、エラー コードが返されたり、データが切り捨てられたり丸めたりする場合があります。

Scale プロパティは、OdbcTypeDecimalまたはNumericであるパラメーターにのみ影響します。 その他のデータ型の場合、 Scale は無視されます。

SQL Server Native Client 10 (またはそれ以降) を使用して、型が Decimal、Numeric、VarNumeric、DBDate、DBTimeStamp のパラメーターをバインドする場合は、適切なスケール値を手動で指定する必要があります。

このプロパティを使用して、データベースに渡されるデータを強制することはできません。 データをデータベースに渡す前に丸めたり、切り捨てたり、強制したりするには、パラメーターの Value プロパティに値を割り当てる前に、System名前空間の一部である Math クラスを使用します。

.NET Framework バージョン 1.0 に含まれる .NET Framework データ プロバイダーでは、パラメーター値のscaleDecimal検証されません。 これにより、変更されたデータがデータ ソースに挿入される可能性があります。 .NET Framework バージョン 1.0 を使用している場合は、パラメーター値を設定する前に、decimal値のscaleを検証します。 .NET Framework バージョン 1.1 以降のバージョンを使用する場合、decimal パラメータースケールを超えるscale値は、基になる ODBC ドライバーの動作である場合にのみスケールで切り捨てられる可能性があります。

適用対象

こちらもご覧ください