FireDAC.Comp.Client.TFDAdaptedDataSet.OnExecuteError
Delphi
property OnExecuteError: TFDExecuteErrorEvent read FOnExecuteError
C++
__property TFDExecuteErrorEvent OnExecuteError = {read=FOnExecuteError, write=FOnExecuteError};
Inhaltsverzeichnis
Eigenschaften
| Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet | 
|---|---|---|---|---|
| event | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp | FireDAC.Comp.Client | TFDAdaptedDataSet | 
Beschreibung
Das Ereignis wird ausgelöst, wenn bei der Ausführung einer Array DML-Abfrage ein Fehler generiert wird.
Das Ereignis OnExecuteError wird ausgelöst, wenn die Ausführung der Array DML mit der Methode Execute durch die Datenmenge fehlschlägt und wenn ATimes > 1 ist.  Mit dieser Ereignisbehandlungsroutine können Sie:
- Die fehlerhafte Zeile im Parameter-Array überspringen.
- Die Werte in der fehlerhaften Zeile im Parameter-Array ändern.
- Die Array DML-Ausführung anhalten.
Hinweis: OnExecuteError wird nicht für Syntaxfehler aufgerufen oder wenn
ATimes= 1 ist.
Beispiel
Parameterbeschreibung:
- ASender– Die Referenz auf die Datenmenge.
- ATimes– Die aktuelle Array DML-Größe. Der Wert dieses Parameters kann sich von dem des Parameters- ATimesder Methode Execute unterscheiden, wenn die gesamte Operation in kleinere Operationen aufgeteilt ist (z. B. in Firebird).
- AOffset– Der aktuelle Array DML-Offset. Der Wert dieses Parameters kann sich von dem des Parameters- AOffsetder Methode Execute unterscheiden, wenn übersprungene fehlerhafte Zeile vorhanden sind oder die gesamte Operation in kleinere Operationen aufgeteilt ist (z. B. in Firebird).
- AError– Der vom DBMS zurückgegebene ursprüngliche Fehler. Überprüfen Sie AError.Errors.RowIndex hinsichtlich des Index der fehlerhaften Zeile im Parameter-Array.
 
 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;