SqlParameter.Scale Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
, DateTime2
DateTimeOffset
o 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.