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, auf die aufgelöst wird, Value 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, an die Value aufgelöst wird. Der Standardwert lautet 0.
Implementiert
- Attribute
Beispiele
Im folgenden Beispiel wird ein SqlParameter Teil seiner Eigenschaften erstellt und 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 eine SqlDbType von Decimal, DateTime2, , DateTimeOffsetoder Time.
Warnung
Daten können abgeschnitten werden, wenn die Scale Eigenschaft nicht explizit angegeben ist und die Daten auf dem Server nicht in die Skalierung 0 passen (Standardeinstellung).
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 1-7 Arbeit wie erwartet.
Dieses Problem gilt auch für DateTimeOffset und Time auch.
Sie müssen keine Werte für die Precision Und Scale Eigenschaften für Eingabeparameter angeben, da sie vom 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 Nullwerts mit einer bestimmten Genauigkeit und Skalierung.
Hinweis
Die Verwendung dieser Eigenschaft zum Koerzen von Daten, die an die Datenbank übergeben werden, wird nicht unterstützt. Verwenden Sie Math die Klasse, die Teil des System Namespace ist, bevor Sie sie an die Datenbank übergeben, um Daten abzuschneiden oder anderweitig zu verketten, bevor Sie der Eigenschaft des Parameters Value einen Wert zuweisen.
Hinweis
.NET Framework-Datenanbieter, die in .NET Framework, Version 1.0 enthalten sind, überprüfen weder die Precision Parameterwerte Scale noch die Decimal Parameterwerte. Dies kann dazu führen, dass abgeschnittene Daten an der Datenquelle eingefügt werden. Wenn Sie .NET Framework, Version 1.0, verwenden, überprüfen Sie die Precision Werte und SqlParameter werte Decimal , bevor Sie den Parameterwert festlegen. Scale Werte, die die Decimal Parameterskala überschreiten, werden weiterhin abgeschnitten.