FireDAC.Stan.Option.TFDFormatOptions.Round2Scale

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property Round2Scale: Boolean read GetRound2Scale write SetRound2Scale  stored IsRSS default False;

C++

__property bool Round2Scale = {read=GetRound2Scale, write=SetRound2Scale, stored=IsRSS, default=0};

Propriétés

Type Visibilité  Source Unité  Parent
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDFormatOptions


Description

Contrôle l'arrondi des valeurs.

Utilisez la propriété Round2Scale pour contrôler si FireDAC doit arrondir les valeurs numériques et temporelles à l'échelle spécifiée dans une base de données. La valeur par défaut est False

L'arrondi est effectué si la propriété a la valeur True. L'arrondi a lieu sur le côté client seulement si une application affecte une valeur à un champ de type numérique / heure / date-heure. L'arrondi utilise une valeur TFDDatSColumn.Scale correspondante. Pour les valeurs numériques, il s'agit du nombre de chiffres après la virgule décimale. Pour les valeurs d'heure, il s'agit de la précision maximale supportée en millisecondes. 

L'affectation de la valeur True à la propriété Round2Scale permet à une application d'éviter les erreurs d'arrondi potentielles.

Considérez le scénario suivant : l'application contient UpdateOptions.LockMode = lmOptimistic et un ADQuery avec une requête SELECT simple sur une table Oracle avec un champ DATE. Dans Oracle, la précision du type de données DATE est d'une seconde. Ajoutez un nouvel enregistrement, affectez le résultat Now() au champ DATE et envoyez les modifications dans la base de données. Le tampon d'enregistrement client stocke une valeur avec quelques millisecondes, tandis que la base de données stocke une valeur SANS millisecondes. Essayez de modifier l'enregistrement. Avant cela, le verrouillage est effectué. FireDAC ne peut pas comparer les valeurs de champ du tampon client avec les valeurs qui viennent d'être récupérées de la base de données. Par conséquent, l'exception "DApt-400" est déclenchée.

Toutefois, si Round2Scale est initialisée à True, FireDAC arrondit une valeur client aux secondes et la comparaison réussit.


Voir aussi