Fehler bei der Nutzung der
ADO-Komponenten fange ich immer so in der Art ab:
Delphi-Quellcode:
try
Con.Connected := true;
qry.SQL.Text := '
select * from Tabelle';
qry.Open;
Except
on e : EAdoError
do begin
slError := TStringList.Create;
slError.Add(e.
Message);
if con.Errors.Count > 0
then begin
for i := 0
to con.Errors.Count - 1
do begin
slError.Add('
Number: ' + IntToStr(con.Errors.Item[i].Number));
slError.Add('
NativeError: ' + IntToStr(con.Errors.Item[i].NativeError));
slError.Add('
Description: ' + con.Errors.Item[i].Description);
slError.Add('
Source: ' + con.Errors.Item[i].Source);
slError.Add('
HelpFile: ' + con.Errors.Item[i].HelpFile);
slError.Add('
SQLState: ' + con.Errors.Item[i].SQLState);
end;
MessageDlg(slError.Text,mtError, [mbOk],0);
end else begin
MessageDlg(e.
Message + #13#13 + qry.SQL.Text, mtError, [mbOk], 0);
end;
slError.Free;
end;
on e :
Exception do begin
MessageDlg(e.
Message + #13#13 + qry.SQL.Text, mtError, [mbOk], 0);
end;
Informationsverluste sind mir da bisher nicht aufgefallen.
(Die Aussagefähigkeit dieser Meldungen ist allerdings auch nicht immer unbedingt prickelnd

)