Hi Delphianer!!
Ich möchte eine Access2000 Exception abfangen!
In meiner Access2000 Datenbank habe ich eine referentielle Integrität
gesetzt (ohne Löschweitergabe).
Mit der folgenden Procedure habe ich Schwierigkeiten, denn die deletequery
soll er nur ausführen wenn er "etable.delete;" ausführen
kann. Das ist nämlich das was eine Exception auslöst oder nicht.
<pre>
begin
try
akey:= AmesDataModule.Etable.FieldByName('E_bez').asstrin g;
// Versuche aktuellen DS zu löschen
etable.delete;
etable.edit;
// Und wenn das keine Exception auslöst dann
// Datensätze die mit dem aktuellen Ds verknüpft sind LÖSCHEN
deleteQuery.close;
deleteQuery.Sql.Clear;
deleteQuery.Sql.Add('DELETE FROM tabelle2);
deleteQuery.Sql.Add(Format('WHERE (e_key= "%s")', [aKey]));
deleteQuery.ExecSQL;
finally
begin
MessageDlg ('Sie können ihn nicht löschen.'+#13#10+'Er
wird verwendet!', mtinformation, [mbok],0);
end;
end;
end;
</pre>
Ich möchte eine Access2000 Exception abfangen!
In meiner Access2000 Datenbank habe ich eine referentielle Integrität
gesetzt (ohne Löschweitergabe).
Mit der folgenden Procedure habe ich Schwierigkeiten, denn die deletequery
soll er nur ausführen wenn er "etable.delete;" ausführen
kann. Das ist nämlich das was eine Exception auslöst oder nicht.
<pre>
begin
try
akey:= AmesDataModule.Etable.FieldByName('E_bez').asstrin g;
// Versuche aktuellen DS zu löschen
etable.delete;
etable.edit;
// Und wenn das keine Exception auslöst dann
// Datensätze die mit dem aktuellen Ds verknüpft sind LÖSCHEN
deleteQuery.close;
deleteQuery.Sql.Clear;
deleteQuery.Sql.Add('DELETE FROM tabelle2);
deleteQuery.Sql.Add(Format('WHERE (e_key= "%s")', [aKey]));
deleteQuery.ExecSQL;
finally
begin
MessageDlg ('Sie können ihn nicht löschen.'+#13#10+'Er
wird verwendet!', mtinformation, [mbok],0);
end;
end;
end;
</pre>
Comment