Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Doppelter Wert im schlüsselfeld verhindern (ADOquery) (https://www.delphipraxis.net/40861-doppelter-wert-im-schluesselfeld-verhindern-adoquery.html)

khalilazzz 22. Feb 2005 10:18

Datenbank: Access datenbank • Zugriff über: ADOquery,Datasource,DBGrid,ADOconnection

Doppelter Wert im schlüsselfeld verhindern (ADOquery)
 
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;

Stevie 22. Feb 2005 11:30

Re: Doppelter Wert im schlüsselfeld verhindern (ADOquery)
 
Hi,

meine ersten Vermutungen:
- wird die Prozedur überhaupt aufgerufen?
- wir überhaupt in den case-Fall gesprungen (Fehlercode wirklich 9729)?

MfG
Stevie

khalilazzz 22. Feb 2005 14:53

Re: Doppelter Wert im schlüsselfeld verhindern (ADOquery)
 
und das war der sinn,warum ich überhaupt dieser frage gestellt habe,weil der delphi dieser procedure nicht aufruffen kann....................................

Luckie 22. Feb 2005 14:55

Re: Doppelter Wert im schlüsselfeld verhindern (ADOquery)
 
Zitat:

Zitat von khalilazzz
und das war der sinn,warum ich überhaupt dieser frage gestellt habe,weil der delphi dieser procedure nicht aufruffen kann....................................

Ah ja. Und wie sollen wir dir da helfen, wenn du uns nur die Routine zeigst die nicht aufgerufen wird, aber nicht den Code drumherumm, wo sie aufgerufen werden SOLL?

Stevie 22. Feb 2005 14:57

Re: Doppelter Wert im schlüsselfeld verhindern (ADOquery)
 
Zitat:

Zitat von khalilazzz
und das war der sinn,warum ich überhaupt dieser frage gestellt habe,weil der delphi dieser procedure nicht aufruffen kann....................................

Tja, das kann ich aber aus
Zitat:

leider funktioniert gar nichts,wenn man versucht einen Doppelter schlüsselwert einzufügen
nicht wirklich ableiten! :roll:
Dann wäre es vielleicht besser, wenn du mal die Stelle Posten würdest, wo der Aufruf dieser Prozedur geschieht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz