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 používají parametry, které mají hodnotu SqlDbTypeDecimal, DateTime2DateTimeOffset, nebo Time.

Upozornění

Data mohou být zkrácena, pokud Scale vlastnost není explicitně zadána a data na serveru se nehodí do měřítka 0 (výchozí).
DateTime2 Pro typ bude měřítko 0 (výchozí) předáno jako datetime2(7). V současné době neexistuje způsob, jak odeslat parametr jako datetime2(0). Škály 1–7 fungují podle očekávání. Tento problém se týká DateTimeOffset i a Time .

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

Poznámka

Použití této vlastnosti k vysoučování dat předaných do databáze není podporováno. Pokud chcete data před předáním do databáze zaokrouhlit, zkrátit nebo jinak vymátit, použijte před přiřazením hodnoty k vlastnosti parametru MathValue třídu, která je součástí System oboru názvů.

Poznámka

Zprostředkovatelé dat rozhraní .NET Framework, které jsou součástí rozhraní .NET Framework verze 1.0, neověřují Precision hodnoty parametrů nebo ScaleDecimal . 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 ověřte Precision hodnoty aSqlParameter.Decimal Scale hodnoty, které překračují měřítko parametru Decimal , jsou stále zkráceny.

Platí pro

Viz také