SqlParameter.Scale Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger antalet decimaler som Value har lösts.
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
Egenskapsvärde
Antalet decimaler som Value matchas. Standardvärdet är 0.
Implementeringar
- Attribut
Exempel
I följande exempel skapas en SqlParameter och vissa av dess egenskaper anges.
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
Kommentarer
Egenskapen Scale används av parametrar som har en SqlDbType av Decimal, DateTime2, DateTimeOffseteller Time.
Varning
Data kan trunkeras om egenskapen inte uttryckligen Scale anges och data på servern inte får plats i skala 0 (standard).
För typen DateTime2 skickas skalning 0 (standard) som datetime2(7). Det finns för närvarande inget sätt att skicka en parameter som datetime2(0). Skalar 1–7 arbete som förväntat.
Det här problemet gäller även för DateTimeOffset och Time .
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
.NET Framework-dataprovidrar som ingår i .NET Framework version 1.0 kontrollerar inte parametervärdena Precision eller Scale av Decimal. Detta kan göra att trunkerade data infogas i datakällan. Om du använder .NET Framework version 1.0 kontrollerar du värdena Precision och SqlParameter av Decimal innan du anger parametervärdet. Scale värden som överskrider Decimal parameterskalan trunkeras fortfarande.