SqlParameter.Scale Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Anzahl der Dezimalstellen ab, in die Value aufgelöst wird, oder legt diese fest.
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
Eigenschaftswert
Die Anzahl der Dezimalstellen, mit der Value aufgelöst wird. Die Standardeinstellung ist 0.
Implementiert
- Attribute
Beispiele
Im folgenden Beispiel wird ein SqlParameter erstellt und einige seiner Eigenschaften festgelegt.
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
Hinweise
Die Scale -Eigenschaft wird von Parametern verwendet, die über , SqlDbTypeDateTime2
Decimal
, DateTimeOffset
oder Time
verfügen.
Warnung
Daten werden möglicherweise abgeschnitten, wenn die Scale Eigenschaft nicht explizit angegeben wird und die Daten auf dem Server nicht in die Skalierung 0 (Standard) passen.
Für den DateTime2
Typ wird Skalierung 0 (Standard) als datetime2(7) übergeben. Es gibt derzeit keine Möglichkeit, einen Parameter als datetime2(0) zu senden. Skaliert die Arbeit 1 bis 7 wie erwartet.
Dieses Problem gilt auch für DateTimeOffset
und Time
.
Sie müssen keine Werte für die Precision Eigenschaften und Scale für Eingabeparameter angeben, da sie aus dem Parameterwert abgeleitet werden können.
Precision
und Scale
sind für Ausgabeparameter und für Szenarien erforderlich, in denen Sie vollständige Metadaten für einen Parameter angeben müssen, ohne einen Wert anzugeben, z. B. das Angeben eines NULL-Werts mit einer bestimmten Genauigkeit und Skalierung.
Hinweis
Die Verwendung dieser Eigenschaft zum Coerce-Daten, die an die Datenbank übergeben werden, wird nicht unterstützt. Um Daten vor der Übergabe an die Datenbank zu runden, abzuschneiden oder anderweitig zu koerzieren, verwenden Sie die Math Klasse, die Teil des System
Namespaces ist, bevor Sie der Eigenschaft des Value
Parameters einen Wert zuweisen.
Hinweis
.NET Framework Datenanbieter, die in der .NET Framework Version 1.0 enthalten sind, überprüfen die Precision Parameterwerte oder ScaleDecimal nicht. Dies kann dazu führen, dass abgeschnittene Daten in die Datenquelle eingefügt werden. Wenn Sie .NET Framework Version 1.0 verwenden, überprüfen Sie die Precision Werte und SqlParameter , Decimal bevor Sie den Parameterwert festlegen. Scale Werte, die die Decimal Parameterskala überschreiten, werden weiterhin abgeschnitten.