SqlParameter.Scale Eigenschap

Definitie

Hiermee haalt u het aantal decimalen op of stelt u dit in.Value

public:
 property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
[System.Data.DataSysDescription("DbDataParameter_Scale")]
public byte Scale { get; set; }
public byte Scale { get; set; }
[<System.Data.DataSysDescription("DbDataParameter_Scale")>]
member this.Scale : byte with get, set
member this.Scale : byte with get, set
Public Property Scale As Byte

Waarde van eigenschap

Het aantal decimalen waarnaar Value wordt omgezet. De standaardwaarde is 0.

Implementeringen

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een SqlParameter aantal eigenschappen gemaakt en ingesteld.

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

Opmerkingen

De Scale eigenschap wordt gebruikt door parameters met een SqlDbType vanDecimal, DateTime2of DateTimeOffsetTime.

Warning

Gegevens kunnen worden afgekapt als de Scale eigenschap niet expliciet is opgegeven en de gegevens op de server niet passen in schaal 0 (de standaardinstelling). Voor het DateTime2 type wordt schaal 0 (de standaardinstelling) doorgegeven als datetime2(7). Er is momenteel geen manier om een parameter als datetime2(0) te verzenden. Schaalt 1-7 werk zoals verwacht. Dit probleem is van toepassing op DateTimeOffset en Time ook.

U hoeft geen waarden op te geven voor de Precision invoerparameters en Scale eigenschappen, omdat deze kunnen worden afgeleid van de parameterwaarde. Precision en Scale zijn vereist voor uitvoerparameters en voor scenario's waarin u volledige metagegevens voor een parameter moet opgeven zonder een waarde aan te geven, zoals het opgeven van een null-waarde met een specifieke precisie en schaal.

Note

Het gebruik van deze eigenschap om gegevens die aan de database worden doorgegeven, te dwingen, wordt niet ondersteund. Als u gegevens wilt afronden, afkappen of anderszins wilt afkappen voordat u deze doorgeeft aan de database, gebruikt u de Math klasse die deel uitmaakt van de System naamruimte voordat u een waarde toewijst aan de eigenschap van Value de parameter.

Note

.NET Framework-gegevensproviders die zijn opgenomen in de .NET Framework-versie 1.0, controleren de Precision of Scale van Decimal parameterwaarden niet. Dit kan ertoe leiden dat afgekapte gegevens worden ingevoegd in de gegevensbron. Als u .NET Framework versie 1.0 gebruikt, valideert u de Precision en SqlParameter van Decimal-waarden voordat u de parameterwaarde instelt. Scale waarden die de Decimal parameterschaal overschrijden, worden nog steeds afgekapt.

Van toepassing op

Zie ook