SqlParameter.Scale 屬性

定義

取得或設定 Value 所解析的小數點位數。

public:
 property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
public byte Scale { get; set; }
[System.Data.DataSysDescription("DbDataParameter_Scale")]
public byte Scale { get; set; }
member this.Scale : byte with get, set
[<System.Data.DataSysDescription("DbDataParameter_Scale")>]
member this.Scale : byte with get, set
Public Property Scale As Byte

屬性值

Value 解析到哪一個小數位數。 預設值是 0。

實作

屬性

範例

下列範例會建立 , SqlParameter 並設定其部分屬性。

static void CreateSqlParameterPrecisionScale()
{
    SqlParameter parameter = new SqlParameter("Price", SqlDbType.Decimal);
    parameter.Value = 3.1416;
    parameter.Precision = 8;
    parameter.Scale = 4;
}
Private Sub CreateSqlParameterPrecisionScale()
    Dim parameter As New SqlParameter("Price", SqlDbType.Decimal)
    parameter.Value = 3.1416
    parameter.Precision = 8
    parameter.Scale = 4
End Sub

備註

屬性Scale是由具有 SqlDbTypeDecimalDateTime2DateTimeOffset或的參數Time所使用。

警告

如果未明確指定 屬性, Scale 而且伺服器上的數據不符合縮放比例 0, (預設) ,可能會截斷數據。
DateTime2針對類型,小數字數0 (預設) 會傳遞為datetime2 (7) 。 目前沒有任何方法可以傳送參數作為 datetime2 (0) 。 縮放 1-7 會如預期般運作。 DateTimeOffset此問題也適用於 與 Time

您不需要為輸入參數指定 和 Scale 屬性的值Precision,因為它們可以從參數值推斷。 PrecisionScale 是輸出參數的必要專案,以及您需要指定參數的完整元數據而不指出值的情況,例如指定具有特定有效位數和小數字數的 Null 值。

注意

不支援使用這個屬性來強制傳遞至資料庫的數據。 若要在將數據傳遞至資料庫之前四捨五入、截斷或其他強制型轉數據,請在將值指派給參數的屬性之前,先使用 Math 屬於命名空間一 System 部分的 Value 類別。

注意

.NET Framework .NET Framework 1.0 版隨附的數據提供者不會驗證 PrecisionScaleDecimal 參數值。 這可能會導致截斷的數據插入數據源。 如果您使用 .NET Framework 1.0 版,請先驗證 PrecisionSqlParameterDecimal 的值,再設定參數值。 Scale 超過 Decimal 參數小數字數的值仍會遭到截斷。

適用於

另請參閱