FireDAC.Phys.MongoDBDataSet.TFDMongoDataSet.OnUpdateError
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 | TFDMongoDataSet |
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.TFDMongoDataSet.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;