Udostępnij za pośrednictwem


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 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, które mają SqlDbType wartość Decimal, DateTime2, DateTimeOffsetlub Time.

Ostrzeżenie

Dane mogą być obcięte, jeśli Scale właściwość nie jest 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 i Scale , ponieważ można je wywnioskować z wartości parametru. Precision i Scale są wymagane dla parametrów wyjściowych i scenariuszy, w których należy określić pełne metadane dla parametru bez wskazania wartości, takie jak określanie wartości null z określoną dokładnością i skalowaniem.

Uwaga / Notatka

Użycie tej właściwości do przekazywania danych 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 będącej częścią System przestrzeni nazw przed przypisaniem wartości do właściwości parametru Value .

Uwaga / Notatka

Dostawcy danych programu .NET Framework dołączone do programu .NET Framework w wersji 1.0 nie weryfikują Precision wartości parametrów Decimal lub Scale . Może to spowodować obcięcie danych w źródle danych. Jeśli używasz programu .NET Framework w wersji 1.0, sprawdź Precision wartości i SqlParameterDecimal przed ustawieniem wartości parametru. Scale wartości przekraczające skalę parametrów Decimal są nadal obcinane.

Dotyczy

Zobacz też