SqlParameter.Precision Egenskap

Definition

Hämtar eller anger det maximala antalet siffror som används för att representera Value egenskapen.

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

Egenskapsvärde

Det maximala antalet siffror som används för att representera Value egenskapen. Standardvärdet är 0. Detta indikerar att dataprovidern anger precisionen för Value.

Implementeringar

Attribut

Exempel

I följande exempel skapas en SqlParameter och vissa av dess egenskaper anges.

private static void AddSqlParameter(SqlCommand command)
{
    SqlParameter parameter = new SqlParameter("@Price", SqlDbType.Decimal);
    parameter.Value = 3.1416;
    parameter.Precision = 8;
    parameter.Scale = 4;

    command.Parameters.Add(parameter);
}
Private Sub AddSqlParameter(ByVal command As SqlCommand)

    Dim parameter As New SqlParameter("@Price", SqlDbType.Decimal)
    With parameter
        .Value = 3.1416
        .Precision = 8
        .Scale = 4
    End With

    command.Parameters.Add(parameter)
End Sub

Kommentarer

Egenskapen Precision används av parametrar som har en SqlDbType av Decimal.

Du behöver inte ange värden för Precision egenskaperna och Scale för indataparametrarna, eftersom de kan härledas från parametervärdet. Precision och Scale krävs för utdataparametrar och för scenarier där du behöver ange fullständiga metadata för en parameter utan att ange ett värde, till exempel att ange ett null-värde med en specifik precision och skala.

Note

Användning av den här egenskapen för att tvinga data som skickas till databasen stöds inte. Om du vill avrunda, trunkera eller på annat sätt tvinga data innan de skickas till databasen använder du klassen Math som ingår i System namnområdet innan du tilldelar parameterns Value egenskap ett värde.

Note

Microsoft .NET Framework-dataprovidrar som ingår i .NET Framework version 1.0 kontrollerar inte parametervärdena Precision eller Scale av Decimal. Detta kan orsaka att trunkerade data infogas i datakällan. Om du använder .NET Framework version 1.0 kontrollerar du värdena Precision och Scale av Decimal innan du anger parametervärdet. När du använder .NET Framework version 1.1 eller senare genereras ett undantag om ett Decimal parametervärde anges med ett ogiltigt Precision. Scale värden som överskrider Decimal parameterskalan trunkeras fortfarande.

Gäller för

Se även