SqlParameter.Scale Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le nombre de décimales à laquelle Value est résolu.
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 décimales à laquelle Value est résolu. La valeur par défaut est 0.
Implémente
- Attributs
Exemples
L’exemple suivant crée une SqlParameter valeur 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 ou DateTime2DecimalDateTimeOffsetTimeplusieurs .
Avertissement
Les données peuvent être tronquées si la Scale propriété n’est pas spécifiée explicitement et que les données sur le serveur ne correspondent pas à l’échelle 0 (valeur par défaut).
Pour le DateTime2 type, l’échelle 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 1 à 7 fonctionne comme prévu.
Ce problème s’applique également DateTimeOffsetTime .
Vous n’avez pas besoin de spécifier des valeurs pour les Precision paramètres d’entrée et Scale les propriétés, car elles peuvent être déduites de la valeur du paramètre.
Precision et Scale sont obligatoires 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, comme spécifier une valeur Null avec une précision et une échelle spécifiques.
Note
L’utilisation de cette propriété pour forcer les données transmises à la base de données n’est pas prise en charge. Pour arrondir, tronquer ou forcer les 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.
Note
Les fournisseurs de données .NET Framework inclus dans .NET Framework version 1.0 ne vérifient pas les valeurs de paramètre ou Scale les Precision valeurs.Decimal Cela peut entraîner l’insertion de données tronquées à la source de données. Si vous utilisez .NET Framework version 1.0, validez les valeurs et SqlParameter les Precision valeurs avant de Decimal définir la valeur du paramètre. Scale les valeurs qui dépassent l’échelle des Decimal paramètres sont toujours tronquées.