![]() |
ADO-Fehler (bestehend aus mehreren Schritten) anzeigen
Bei der Arbeit mit ADO-Komponenten hat man manchmal das Problem, dass Exceptions eine ungenaue
Fehlerbeschreibung liefern (Fehler bei einem aus mehreren Schritten bestehenden Vorgang ...). Abhilfe schafft dann folgende Vorgehensweise:
Delphi-Quellcode:
Und hier nun die Hilfsfunktion GetAllADOErrors:
try
ADOQuery1.Open; // hier wird die Exception erzeugt except On E:Exception do begin // die Message der Exception wird angereichert um zusätzliche Informationen E.Message := E.Message + #13#10+ GetAllADOErrors(ADOQuery1.connection); // die Exception wird erneut ausgelöst Raise; end; end;
Delphi-Quellcode:
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
uses ..., ADOInt; // wird benötigt wegen Zugriff auf die Errors-Collection
{************************************************************************** * NAME: GetAllADOErrors * DESC: Alle Fehler einer ADO Connection als String zurückgeben * PARAMS: cn => die ADO Connection * RESULT: alle Fehlermeldungen aus der Errors-collection * CREATED: 28-08-2002/shmia *************************************************************************} function GetAllADOErrors(cn: TADOConnection):string; var i : Integer; e : ADOInt.Errors; begin e := cn.ConnectionObject.Errors; for i := 0 to e.Count-1 do begin Result := Result + Format('#%d %s'#13, [e.item[i].Number, e.Item[i].Source]) + #13 + e.Item[i].Description+#13+ e.Item[i].SQLState+#13; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz