Einzelnen Beitrag anzeigen

khalilazzz

Registriert seit: 1. Feb 2005
59 Beiträge
 
#1

Doppelter Wert im schlüsselfeld verhindern (ADOquery)

  Alt 22. Feb 2005, 10:18
Datenbank: Access datenbank • Zugriff über: ADOquery,Datasource,DBGrid,ADOconnection
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;
  Mit Zitat antworten Zitat