Share via


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; }
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

Beispiele

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

using Microsoft.Data.SqlClient;

class Program
{
    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);
    }
}

Hinweise

Die Precision -Eigenschaft wird von Parametern verwendet, die über einen SqlDbType von Decimalverfügen.

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

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 Scale , Decimal 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 wird. Scale Werte, die die Decimal Parameterskala überschreiten, werden weiterhin abgeschnitten.

Gilt für: