Partager via


SqlParameter.Scale Propriété

Définition

Obtient ou définit le nombre de décimales appliqué à la résolution de 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

Valeur de propriété

Nombre de positions décimales selon lesquelles le Value est résolu. La valeur par défaut est 0.

Implémente

Attributs

Exemples

L’exemple suivant crée un SqlParameter et définit certaines de ses propriétés.

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

Remarques

La Scale propriété est utilisée par les paramètres qui ont un SqlDbType de Decimal, DateTime2, DateTimeOffsetou Time.

Avertissement

Les données peuvent être tronquées si la Scale propriété n’est pas explicitement spécifiée et si les données sur le serveur ne correspondent pas à l’échelle 0 (valeur par défaut).
Pour le type, l’échelle DateTime2 0 (valeur par défaut) est passée en tant que datetime2(7). Il n’existe actuellement aucun moyen d’envoyer un paramètre en tant que datetime2(0). Met à l’échelle le travail de 1 à 7 comme prévu. Ce problème s’applique également à DateTimeOffset et Time .

Vous n’avez pas besoin de spécifier des valeurs pour les propriétés et Scale pour les Precision paramètres d’entrée, car elles peuvent être déduites à partir de la valeur du paramètre. Precision et Scale sont requis pour les paramètres de sortie et pour les scénarios où vous devez spécifier des métadonnées complètes pour un paramètre sans indiquer de valeur, par exemple en spécifiant une valeur Null avec une précision et une échelle spécifiques.

Notes

L’utilisation de cette propriété pour contraindre les données passées à la base de données n’est pas prise en charge. Pour arrondir, tronquer ou contraindre des données avant de les transmettre à la base de données, utilisez la Math classe qui fait partie de l’espace System de noms avant d’affecter une valeur à la propriété du Value paramètre.

Notes

Les fournisseurs de données .NET Framework inclus dans le .NET Framework version 1.0 ne vérifient pas les Precision valeurs de Decimal paramètre ou Scale . Cela peut entraîner l’insertion de données tronquées au niveau de la source de données. Si vous utilisez .NET Framework version 1.0, validez les Precision valeurs et SqlParameter de avant de Decimal définir la valeur du paramètre. Scale les valeurs qui dépassent l’échelle Decimal des paramètres sont toujours tronquées.

S’applique à

Voir aussi