AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankeneinträge anhand der ID löschen [Relation]
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Elexarie · begonnen am 8. Dez 2011 · letzter Beitrag vom 8. Dez 2011
Antwort Antwort
Seite 2 von 2     12   
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#11

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

  Alt 8. Dez 2011, 15:35
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).
  Mit Zitat antworten Zitat
Jumpy

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

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

  Alt 8. Dez 2011, 15:45
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...
Ralph
  Mit Zitat antworten Zitat
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#13

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

  Alt 8. Dez 2011, 15:51
Würde ADOQUery1.Open dann den Inhalt der Variable zurückgeben, die ich mir anschauen möchte?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.588 Beiträge
 
Delphi 12 Athens
 
#14

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

  Alt 8. Dez 2011, 15:54
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]
Miniaturansicht angehängter Grafiken
album.png   interpreten.png   titel.png   komplettdaten.png   interpreten-nach-ausfuehrung.png  

Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 8. Dez 2011 um 17:03 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:38 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