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 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
, DateTimeOffset
ou 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.