FireDAC.Phys.MongoDBDataSet.TFDMongoPipeline.OnUpdateError

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property OnUpdateError: TFDUpdateErrorEvent read FOnUpdateError write FOnUpdateError;

C++

__property OnUpdateError;

Propriétés

Type Visibilité  Source Unité  Parent
event published
FireDAC.Phys.MongoDBDataSet.pas
FireDAC.Phys.MongoDBDataSet.hpp
FireDAC.Phys.MongoDBDataSet TFDMongoPipeline

Description

Se déclenche si une exception est générée quand des mises à jour sont appliquées à une base de données.

FireDAC.Phys.MongoDBDataSet.TFDMongoPipeline.OnUpdateError hérite de FireDAC.Comp.DataSet.TFDDataSet.OnUpdateError. Tout le contenu en-dessous de cette ligne se réfère à FireDAC.Comp.DataSet.TFDDataSet.OnUpdateError.

Se déclenche si une exception est générée quand des mises à jour sont appliquées à une base de données.

Utilisez le gestionnaire d'événement OnUpdateError pour répondre aux exceptions déclenchées lors de l'application de mises à jour immédiates ou en cache à une base de données.

ASender est l'ensemble de données auquel les mises à jour sont appliquées.

AException est un pointeur sur un objet EFDException à partir duquel une application peut extraire un message d'erreur et la cause réelle de la condition d'erreur. Le gestionnaire OnUpdateError peut utiliser ces informations pour déterminer comment répondre à la condition d'erreur. Dans la plupart des cas, l'objet AException est une instance de la classe EFDDBEngineException ou même l'une de ses sous-classes spécifiques au SGBD.   ARow est un objet ligne DatS, représentant un enregistrement erroné dans l'ensemble de données. Cet enregistrement est aussi l'enregistrement en cours dans ASender.

ARequest indique si l'erreur s'est produite pendant l'insertion, la suppression ou la modification d'un enregistrement.

AAction indique l'action à prendre à la sortie du gestionnaire d'événement OnUpdateError. A l'entrée dans le gestionnaire, AAction est toujours défini sur eaDefault, qui conduit à uaFail, en l'absence de modification. Si OnUpdateError peut gérer ou corriger l'erreur, définissez AAction sur uaRetry avant de quitter le gestionnaire d'erreur, ou considérez d'autres options.

Le gestionnaire d'erreur peut utiliser les propriétés OldValue et NewValue pour évaluer les conditions d'erreur et définir NewValue pour appliquer une nouvelle valeur. Dans ce cas, définissez AAction sur uaRetry avant de quitter.

Avertissement : Le code d'un gestionnaire OnUpdateError ne doit pas appeler une méthode qui transforme un autre enregistrement en enregistrement en cours.

Exemple

 
 procedure TForm1.FDQuery1UpdateError(ASender: TDataSet; AException: EFDException;
     ARow: TFDDatSRow; ARequest: TFDUpdateRequest; var AAction: TFDErrorAction);
 begin
   if (E is EFDDBEngineException) and (EFDDBEngineException(E).Kind = ekUKViolated) then begin
     DataSet.FieldByName('ID').AsInteger := GetNextFreeID;
     Action := eaRetry;
   end;
 end;

Voir aussi