SqlParameter.Scale Właściwość

Definicja

Pobiera lub ustawia liczbę miejsc dziesiętnych, do których Value jest rozpoznawana.

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

Wartość właściwości

Liczba miejsc dziesiętnych, do których Value jest rozpoznawana. Wartość domyślna to 0.

Implementuje

Atrybuty

Przykłady

Poniższy przykład tworzy obiekt SqlParameter i ustawia niektóre z jego właściwości.

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

Uwagi

Właściwość Scale jest używana przez parametry o SqlDbType wartości Decimal, , DateTime2DateTimeOffsetlub Time.

Ostrzeżenie

Dane mogą zostać obcięte, jeśli Scale właściwość nie zostanie jawnie określona, a dane na serwerze nie mieszczą się w skali 0 (wartość domyślna).
DateTime2 Dla typu skala 0 (wartość domyślna) zostanie przekazana jako data/godzina2(7). Obecnie nie ma możliwości wysyłania parametru jako datetime2(0). Skaluje 1–7 pracy zgodnie z oczekiwaniami. Ten problem dotyczy DateTimeOffset również i Time .

Nie trzeba określać wartości parametrów Precision wejściowych i , Scale ponieważ można je wywnioskować z wartości parametru . Precision i Scale są wymagane dla parametrów wyjściowych i dla scenariuszy, w których należy określić pełne metadane dla parametru bez wskazywania wartości, takich jak określanie wartości null z określoną dokładnością i skalowaniem.

Uwaga

Użycie tej właściwości do przetwarzania danych przekazywanych do bazy danych nie jest obsługiwane. Aby zaokrąglić, obcinać lub w inny sposób przekształcać dane przed przekazaniem ich do bazy danych, użyj Math klasy, która jest częścią System przestrzeni nazw przed przypisaniem wartości do właściwości parametru Value .

Uwaga

.NET Framework dostawców danych dołączonych do .NET Framework w wersji 1.0 nie weryfikują Precision wartości parametrów Decimal ani Scale . Może to spowodować wstawienie obcięć danych w źródle danych. Jeśli używasz .NET Framework w wersji 1.0, przed ustawieniem wartości parametru zweryfikuj PrecisionDecimal wartości i SqlParameter . Scale wartości przekraczające skalę parametrów Decimal są nadal obcinane.

Dotyczy

Zobacz też