Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FOREIGN KEY ausgeben? (https://www.delphipraxis.net/171201-foreign-key-ausgeben.html)

Jumpy 26. Okt 2012 10:47

AW: FOREIGN KEY ausgeben?
 
Naja es sollten in dem Beispiel ja keine Leser gelöscht werden, wenn die noch Bücher zuhause (oder Schulden auf'm Konto) haben. Genaugenommen, sollten Leser eigentlich nie gelöscht werden, weil das die Ausleihistorie der Bücher kaputt macht. Stattdessen werden Ausweise gesperrt oder Ausleihkonten deaktiviert.

Aber ich denke mal es geht eh nur um ein Übungsbeispiel...
...wobei auch bei Übungsbeispielen, sollte man es besser gleich richtig machen.

AlexII 26. Okt 2012 11:27

AW: FOREIGN KEY ausgeben?
 
Danke euch! Ihr habt mich gerettet. :coder::bouncing4::cheers:

Sir Rufo 26. Okt 2012 18:30

AW: FOREIGN KEY ausgeben?
 
Zitat:

Zitat von AlexII (Beitrag 1188412)
Es hat geklappt :dancer:

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)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 Uhr.
Seite 4 von 4   « Erste     234   

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