Freigeben über


SqlParameter.Precision Eigenschaft

Definition

Ruft die maximale Anzahl von Stellen ab, die verwendet werden, um die Value-Eigenschaft darzustellen, oder legt diese fest.

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

Eigenschaftswert

Die maximale Anzahl von Stellen, die verwendet wird, um die Value-Eigenschaft darzustellen. Der Standardwert ist 0. Dadurch wird angegeben, dass der Datenanbieter die Genauigkeit für Value festlegt.

Implementiert

Attribute

Beispiele

Im folgenden Beispiel wird ein SqlParameter erstellt und einige seiner Eigenschaften festgelegt.

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

Hinweise

Die Precision -Eigenschaft wird von Parametern mit einem SqlDbType von Decimalverwendet.

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 zu runden, abzuschneiden oder anderweitig zu ermischen, bevor sie an die Datenbank übergeben werden, verwenden Sie die Math Klasse, die Teil des System Namespace ist, bevor Sie der Eigenschaft des Value Parameters einen Wert zuweisen.

Hinweis

Microsoft .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 an der Datenquelle eingefügt werden. Wenn Sie .NET Framework Version 1.0 verwenden, überprüfen Sie die Precision werte und ScaleDecimal, bevor Sie den Parameterwert festlegen. Wenn Sie .NET Framework Version 1.1 oder höher verwenden, wird eine Ausnahme ausgelöst, wenn ein Decimal Parameterwert mit einem ungültigen Precisionfestgelegt ist. Scale Werte, die die Decimal Parameterskala überschreiten, werden weiterhin abgeschnitten.

Gilt für:

Weitere Informationen