hallo zusammen
ich entwickele gerade einen Datenbankanwendung mit DBgrid,ADoQuery,die auf einen AccessDatenbank zugreift.
ich habe so einen Code geschrieben,die einen Doppelter eintragung von Keys (Typ:text) verhindern kann.
leider funktioniert gar nichts,wenn man versucht einen Doppelter schlüsselwert einzufügen
wo liegt der fehler?
Code:
procedure TMyDataModule.MyTablePostError(
DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
var
iDBIError: Integer;
begin
if (E is EDBEngineError) then begin
iDBIError := (E as EDBEngineError).Errors[0].ErrorCode;
case iDBIError of
9729: // Key Violation
begin
MessageDlg(...);
DataSet.Cancel;
SysUtils.Abort;
end;
end;
end;
end;