Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankeneinträge anhand der ID löschen [Relation] (https://www.delphipraxis.net/164981-datenbankeneintraege-anhand-der-id-loeschen-%5Brelation%5D.html)

Elexarie 8. Dez 2011 15:35

AW: Datenbankeneinträge anhand der ID löschen [Relation]
 
Zitat:

Zitat von jobo (Beitrag 1140324)
Den wenigsten Ärger hast Du, wenn Du dafür (Insert/Update/Delete) 3 Stored Procs anfertigst, wo Du alle diese Zusammenhänge berücksichtigst.
Die rufst Du einfach auf und wenn es ein Problem geben sollte, wird es automatisch zurückgerollt.

Von was für Problemen redest du hier?


############

Detlef: -> Also bei dir ist glaub ich ein Denkfehler, denn diese Daten werden niemals gelöscht. Denn in dem Moment, wo du abfragst, ob es existiert, fragst du ja nicht ab, dass es ja EINMAL existieren sollst.

Dementsprechend kann es ja nicht funktionieren.

Ich habe den Eintrag bei Interpreten: ID: 22 | Interpret: Peter

Du löscht ihn, wenn keine ID '22' vorhanden ist (F_Interpret = Interpreten.ID) -> Das heißt eine garantierte Wahrscheinlichkeit.

Kann also nicht die Lösung sein. (Die Werte aus H_Musik werden gelöscht).

Jumpy 8. Dez 2011 15:45

AW: Datenbankeneinträge anhand der ID löschen [Relation]
 
OK, wenn du eh alles mit ADOQuery machst, dann muss es doch nicht in einem Rutsch sein, oder?

Datensatz in Verknüpfungstabelle wird gelöscht.
Vorher Interpret_ID, Album_ID usw. in Variablen merken.
Dann gucken (Select), ob Interpret_ID immernoch (also in einem anderen Datensatz, da der ursprüngliche ja gelöscht ist) in Verknüpfungstabelle existiert.
Wenn nicht, dann Interpret in Interprettabelle löschen.
Dito mit Album und Titel...

Elexarie 8. Dez 2011 15:51

AW: Datenbankeneinträge anhand der ID löschen [Relation]
 
Würde ADOQUery1.Open dann den Inhalt der Variable zurückgeben, die ich mir anschauen möchte?

DeddyH 8. Dez 2011 15:54

AW: Datenbankeneinträge anhand der ID löschen [Relation]
 
Liste der Anhänge anzeigen (Anzahl: 5)
Zitat:

Zitat von Elexarie (Beitrag 1140328)
Detlef: -> Also bei dir ist glaub ich ein Denkfehler, denn diese Daten werden niemals gelöscht. Denn in dem Moment, wo du abfragst, ob es existiert, fragst du ja nicht ab, dass es ja EINMAL existieren sollst.

Was meinst Du denn jetzt mit EINMAL? Ich lösche zuerst den Datensatz aus h_musik und dann aus den Stammdaten die Datensätze, die nirgends mehr in h_musik vorkommen. Das sollte ja der Fall sein, wenn es sich um den letzten Datensatz gehandelt hat.

[edit] Ich habe das jetzt einmal zu Hause mit Firebird ausprobiert, funktioniert wie gedacht (man darf natürlich nicht vergessen, die Transaktion zu commiten). Gelöscht wurde in h_musik die ID 2. Anbei ein paar Screenshots. [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Seite 2 von 2     12   

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