Sdílet prostřednictvím


SqlParameter.Scale Vlastnost

Definice

Získá nebo nastaví počet desetinných míst, na které Value se přeloží.

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

Hodnota vlastnosti

Počet desetinných míst, na které Value se přeloží. Výchozí hodnota je 0.

Implementuje

Atributy

Příklady

Následující příklad vytvoří SqlParameter a nastaví některé jeho vlastnosti.

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

Poznámky

Vlastnost Scale se používá parametry, které mají SqlDbType hodnotu Decimal, DateTime2, DateTimeOffsetnebo Time.

Výstraha

Data mohou být zkrácena, pokud Scale vlastnost není explicitně zadána a data na serveru se nevejdou do měřítka 0 (výchozí). DateTime2 U typu se jako datum a čas2(7) předá měřítko 0 (výchozí nastavení). Aktuálně neexistuje způsob, jak odeslat parametr jako datetime2(0). Škáluje 1–7 podle očekávání. Tento problém platí i pro DateTimeOffset a Time také.

Není nutné zadávat hodnoty pro Precision vstupní parametry a Scale vlastnosti, protože je lze odvodit z hodnoty parametru. Precision a Scale jsou vyžadovány pro výstupní parametry a pro scénáře, ve kterých potřebujete zadat úplná metadata pro parametr bez označení hodnoty, například zadání hodnoty null s konkrétní přesností a měřítkem.

Poznámka:

Použití této vlastnosti k vyřaování dat předávaných do databáze není podporováno. Chcete-li před předáním do databáze zaokrouhlit, zkrátit nebo jinak zkrátit data, použijte Math třídu, která je součástí System oboru názvů před přiřazením hodnoty vlastnosti parametru Value .

Poznámka:

Zprostředkovatelé dat rozhraní .NET Framework, kteří jsou součástí rozhraní .NET Framework verze 1.0, neověřují Precision hodnoty parametrů ani Scale hodnoty Decimal parametrů. To může způsobit vložení zkrácených dat do zdroje dat. Pokud používáte rozhraní .NET Framework verze 1.0, před nastavením hodnoty parametru Precision ověřte hodnoty a SqlParameter hodnoty Decimal . Scale hodnoty, které překračují měřítko Decimal parametrů, jsou stále zkráceny.

Platí pro

Viz také