Condividi tramite


SqlParameter.Scale Proprietà

Definizione

Ottiene o imposta il numero di posizioni decimali in cui viene risolto Value.

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

Valore della proprietà

Numero di cifre decimali in cui viene risolta la proprietà Value. Il valore predefinito è 0.

Implementazioni

Attributi

Esempio

L'esempio seguente crea un oggetto SqlParameter e imposta alcune delle relative proprietà.

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

Commenti

La Scale proprietà viene usata dai parametri con un SqlDbType oggetto , Decimal, DateTime2DateTimeOffseto Time.

Avviso

I dati possono essere troncati se la Scale proprietà non è specificata in modo esplicito e i dati nel server non rientrano nella scala 0 (impostazione predefinita).
Per il DateTime2 tipo, la scala 0 (impostazione predefinita) verrà passata come datetime2(7). Attualmente non è possibile inviare un parametro come datetime2(0). Ridimensiona 1-7 funziona come previsto. Questo problema si applica anche a DateTimeOffset e Time .

Non è necessario specificare i valori per le proprietà e Scale per i Precision parametri di input, in quanto possono essere dedotti dal valore del parametro. Precision e Scale sono necessari per i parametri di output e per gli scenari in cui è necessario specificare metadati completi per un parametro senza indicare un valore, ad esempio specificando un valore Null con una precisione e una scala specifica.

Nota

L'uso di questa proprietà per coercere i dati passati al database non è supportato. Per arrotondare, troncare o in caso contrario coercire i dati prima di passarlo al database, usare la Math classe che fa parte dello spazio dei nomi prima di System assegnare un valore alla proprietà del Value parametro.

Nota

I provider di dati di .NET Framework inclusi in .NET Framework versione 1.0 non verificano i Precision valori dei Decimal parametri o Scale . Ciò può causare l'inserimento dei dati troncati nell'origine dati. Se si usa .NET Framework versione 1.0, convalidare e PrecisionSqlParameter di valori prima di Decimal impostare il valore del parametro. Scale i valori che superano la scala dei Decimal parametri sono ancora troncati.

Si applica a

Vedi anche