AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FOREIGN KEY ausgeben?
Thema durchsuchen
Ansicht
Themen-Optionen

FOREIGN KEY ausgeben?

Ein Thema von AlexII · begonnen am 25. Okt 2012 · letzter Beitrag vom 26. Okt 2012
Antwort Antwort
Seite 4 von 4   « Erste     234   
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#31

AW: FOREIGN KEY ausgeben?

  Alt 26. Okt 2012, 11:47
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.
Ralph
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#32

AW: FOREIGN KEY ausgeben?

  Alt 26. Okt 2012, 12:27
Danke euch! Ihr habt mich gerettet.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#33

AW: FOREIGN KEY ausgeben?

  Alt 26. Okt 2012, 19:30
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)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 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