SqlParameter.Scale 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定被解決的小 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 性質被具有 SqlDbTypeDecimal、 DateTime2、 DateTimeOffset、 或 Time的參數所使用。
警告
若 Scale 未明確指定屬性且伺服器資料不符合預設縮放範圍 0,則可截斷資料。
對於類型, DateTime2 縮放 0(預設)會被傳遞為 datetime2(7)。 目前無法將參數以 datetime2(0) 傳送。 1到7的音階功能如預期般運作。
這個問題同樣適用於 DateTimeOffset 和 Time 。
輸入參數不需要指定 和 Scale 屬性的值Precision,因為它們可以從參數值推斷出來。
Precision 以及 Scale 在需要指定完整元資料但不標示值的情況下,例如指定一個具有特定精度與刻度的空值,這些參數是輸出參數所需的。
備註
不支援使用此特性強制傳送至資料庫的資料。 若要在資料傳遞給資料庫前進行Value四周、截斷或其他強制處理,請先使用Math屬於System命名空間的類別,再為參數屬性指派值。
備註
.NET Framework 1.0 版本中包含的資料提供者不會驗證Precision參數值的 Decimal OR Scale 值。 這可能導致截斷資料入資料來源。 如果你使用的是 .NET Framework 1.0 版本,請在設定參數值前驗證 Precision 和 SqlParameter 的 Decimal 值。 Scale 超過參數尺度的 Decimal 值仍會被截斷。