Es hat geklappt
Lösung: man muss den FK immer wieder aktivieren, in diesem Fall in der DELETE Funktion.
Kann es sein, dass deine ganzen Datenbank-Zugriffe ungefähr so gekapselt sind:
Delphi-Quellcode:
procedure IrgendeinBeliebigerZugriffAufDieDatenbank;
var
dbFile :
String;
db : TSQLiteDatabase;
begin
dbFile := ExtractFilePath(Application.ExeName) + '
Database.db';
db := TSQLiteDatabase.Create( dbFile );
try
{ ganz viele Aktionen mit der DB }
finally
db.Free;
end;
end;
Dann ist es auch nicht verwunderlich, warum du den Foreign Key Befehl vor dem DELETE ständig neu übergeben musst.
Diese Einstellung gilt nur solange, bis du die Verbindung zur
DB wieder trennst, und das machst du bei jeder Methode.
Verbindung aufbauen
Sachen abarbeiten
Verbindung trennen (jetzt ist auf jeden Fall nicht mehr eingeschaltet)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)