Hi!
Wichtige Stellen in einem Programm werden u.a. mit „try ... except...end“ Blöcken abgesichert, z.B. etwa so:
Delphi-Quellcode:
try
MSQuery1.SQL.Clear;
MSQuery1.SQL.Add('create database testdb');
MSQuery1.Execute;
except
on e: EDataBaseError do
begin
MessageDlg(e.Message, mtError, [mbOK], 0);
end;
end;
Hier wird versucht auf einem MS-
SQL-Server (MSDEA) eine Datenbank zu erstellen. Falls irgend eine
DB-
Exception ausgelöst wird, dann wird eine Meldung auf dem Bildschirm angezeigt. In der kann z.B. so etwas stehen: „Datenbank testdb existiert schon“. Auf diese Meldung kann der Benutzer nun reagieren (im obigen Fall kann er lediglich die
Exception zur Kenntnis nehmen).
So weit so gut. Nun möchte ich einige
DB-Exceptions per Programm abhandeln. Damit ich die Exceptions erkennen und entsprechend reagieren kann, muss ich den eindeutigen Errorcode kennen (z.B. „Datenbank existiert schon“ = Errorcode: 123456).
Meine Frage:
Wie kann ich den eindeutigen Errorcode von MS-
SQL-Server (MSDEA) der ausgelösten
Exception rausfinden?
Viele Grüße
Markus