IBX.IBCustomDataSet.TIBCustomDataSet.OnUpdateError

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property OnUpdateError: TIBUpdateErrorEvent read FOnUpdateError  write FOnUpdateError;

C++

__property TIBUpdateErrorEvent OnUpdateError = {read=FOnUpdateError, write=FOnUpdateError};

Propriétés

Type Visibilité  Source Unité  Parent
event published
IBX.IBCustomDataSet.pas
IBX.IBCustomDataSet.hpp
IBX.IBCustomDataSet TIBCustomDataSet

Description

Se produit si une exception est générée lorsque les mises à jour en mémoire cache sont appliquées à une base de données.

Ecrivez un gestionnaire d'événement OnUpdateError pour répondre aux exceptions générées lorsque les mises à jour en mémoire cache sont appliquées à une base de données.

En raison du délai entre le moment où un enregistrement est placé pour la première fois en mémoire cache et le moment où les modifications en mémoire cache sont appliquées, il est possible qu'une autre application puisse modifier un ou plusieurs des mêmes enregistrements dans la base de données avant que les modifications en mémoire cache ne puissent être appliquées. DataSet est le nom de l'ensemble de données auquel les mises à jour sont appliquées.

Le gestionnaire d'erreur peut utiliser les propriétés OldValue et NewValue de TField pour évaluer les conditions d'erreur et affecter à la propriété NewValue une nouvelle valeur à réappliquer. Dans ce cas, initialisez UpdateAction à uaRetry avant de quitter.

Remarque :  Si un appel à ApplyUpdates déclenche une exception et qu'ApplyUpdates n'est pas appelée dans le contexte d'un bloc try..except (Delphi) ou try..catch (C++), un message d'erreur est renvoyé. Si un gestionnaire OnUpdateError ne parvient pas à corriger la condition d'erreur et laisse UpdateAction à uaFail, le message d'erreur est renvoyé deux fois. Pour éviter un double renvoi, initialisez UpdateAction à uaAbort dans le gestionnaire d'erreur.

Avertissement :  Important : Le code d'un gestionnaire OnUpdateError ne doit appeler aucune méthode qui change l'enregistrement en cours.