Moment, nochmal zum Mitschreiben. Du machst also nur noch das:
Delphi-Quellcode:
i := 0;
DM.DS.Insert;
DM.DS.FieldByName('NR').AsInteger := i + 100;
DM.DS.FieldByName('BEZ').AsInteger := i;
DM.DS.Post;
und das scheitert beim ersten Datensatz in eine leere Tabelle mit einer Schlüsselverletzung im Feld Nr in einer Tabelle, die für das Feld Nr keinen eindeutigen Schlüssel hat?
1. Drop Table und neumachen.
2. Erneut probieren, Fehler weg?
3. Wenn nein, neue Datenbank machen, nur diese Tabelle und den Trigger und erneut probieren.
4. Fehler weiter da? Rechner ausschalten und morgen erneut probieren
Nein, ehrlich gesagt keine Ahnung.
Gibt es irgendeinen Cache, der Daten vorhält..., so dass das Programm irgend etwas "aus der Vergangenheit" sehen könnte, was in der Realität nicht mehr existiert?
Aber dann dürfte ja die Datenbank nicht meckern. Gibts da 'nen Clone von, auf den Du noch (irrtümlich) zugreifst?
Entwicklungsumgebung mal zugemacht?
Datenbank neu gestartet?
Neues, leeres Projekt mit nur dem Datenbankzugriff und dem Insert in diese Tabelle (nicht per Copy&Paste aus dem "alten" Projekt übernehmen, wer weiß, was jetzt da nicht stimmt)?
Kenne FireDac nicht (mein Delphi ist zu alt), gibt es denn da die Möglichkeit etwas so stark zu "verkonfigurieren", dass daraus ein derartiges Problem resultieren könnte?
Glaube nicht, dass ich hierzu noch irgendwas halbwegs sinnvolles schreiben könnte