FireDAC.Comp.Client.TFDAdaptedDataSet.OnExecuteError
Delphi
property OnExecuteError: TFDExecuteErrorEvent read FOnExecuteError write FOnExecuteError;
C++
__property TFDExecuteErrorEvent OnExecuteError = {read=FOnExecuteError, write=FOnExecuteError};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
event | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDAdaptedDataSet |
Description
L'événement est déclenché quand une erreur est générée, lors de l'exécution d'une requête Array DML.
L'événement OnExecuteError est déclenché, quand l'ensemble de données n'a pas réussi à exécuter l'opération Array DML au moyen de la méthode Execute et quand ATimes
> 1. Avec ce gestionnaire d'événement, vous pouvez :
- ignorer la ligne erronée du tableau des paramètres ;
- changer les valeurs de la ligne erronée du tableau des paramètres ;
- arrêter l'exécution Array DML complète.
Remarque : OnExecuteError ne sera pas appelé pour les erreurs de syntaxe ou quand
ATimes
= 1.
Exemple
Description des paramètres :
ASender
- La référence à l'ensemble de données.ATimes
- La taille de l'opération Array DML en cours. Elle peut être différente de la valeur du paramètreATimes
de la méthode Execute, si l'opération complète est divisée en opérations plus petites (sur Firebird, par exemple).AOffset
- Le décalage de l'opération Array DML en cours. Elle peut être différente de la valeur du paramètreAOffset
de la méthode Execute, si des lignes erronées ont été ignorées ou si l'opération complète est divisée en opérations plus petites (sur Firebird, par exemple).AError
- L'erreur d'origine renvoyée par le SGBD. Vérifiez AError.Errors.RowIndex pour l'index de la ligne erronée dans le tableau des paramètres.
procedure TForm1.ADQuery1ExecuteError(ASender: TObject; ATimes,
AOffset: Integer; AError: EFDDBEngineException; var AAction: TFDErrorAction);
begin
if AException.Errors[0].Kind = ekUKViolated then
AAction := eaSkip
else
AAction := eaFail;
end;