Änderungen und Löschungen in einer DB mit Relationsfeldern - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von horstees (229 Beiträge) am Montag, 2.Dezember.2002, 11:04. WWW: horstees.de
    Änderungen und Löschungen in einer DB mit Relationsfeldern

       An
      
      Christoph Bergmann

      Beim Neuaufbau einer Datenbank mit zwei Relationen
      (diesmal schön von Anfang an planvoll,vorausschauend,überlegt,und,und,und...) :-D :-D
      kam es beim probeweisen Betrieb dennoch zu Fehlern ,und zwar zu den gleichen
      Fehlern wie anderenorts schon beschrieben.:
      Es kam zu Änderungen an falscher Stelle! :-(
      Jetzt entstand natürlich die Frage, ob diese Fehler chaotisch (also irgendwo und irgendwie) entstehen,
      oder ob man den Fehler eben eingrenzen kann.
      Dabei ist mir jetzt folgendes aufgefallen:
      Wenn ich mich in der DB-Ansicht 'ALLES' befinde und mit der Maus über 'ändern/löschen' spaziere,
      kann ich ja unten in der Statusleiste die Adressen lesen, und aus der Adresse kann ich die vergebene Id
      entnehmen.
      Bei meinen bislang vier Einträgen der Erwartung entsprechend die Id's von 0 - 3,
      und soweit ist auch alles o.K.
      Wenn ich aber jetzt in die DETAIL-Ansicht wechsele und nun wieder mit der Maus über 'ändern/löschen' fahre,
      kam es bei mir zu überraschenden Id's von z.B. 27 oder 5 oder34 usw.
      Soviele Einträge hatte ich in meine DB noch gar nicht vorgenommen.
      Woher nun kommen die Dinger?
      Zufälligerweise entspricht die Id des jeweils letzten Relationsfeldes derjenigen Id,
      die ich bei 'ändern,löschen' erfahre und
      Zufälligerweise sind es auch genau die Id's , die dann fälschlicherweise für Änderungen benutzt werden.

      Jetzt kam mir zu nächtlicher Stunde eine Idee.
      Der in der Detail-Ansicht gezeigte Datensatz liegt, so vermute ich, zunächst als Liste oder als Array vor und wird dan in einer Schleife ausgelesen.
      In dieser Schleife muss es nun unerwarteterweise dazu kommen, dass die ID der Hauptdatenbank von den IDs der 'Nebendatenbänke' überschrieben wird.
      Zum Löschen und Ändern brauche ich aber die ID der Hauptdatenbank.
      Wenn man nun vor der Schleife eine Variable einführt,etwa '$main_id', und dieser den Wert von '$_id' zuweist ($main_id = $_id;),
      dann die Schleife arbeiten lässt,
      und direkt danach,
      noch vor dem Concatten des 'Ändern-Adress-Strings' und des 'Löschen-Adress-Strings',
      sich die Ursprungs-ID wiederholt mit
      $_id = $main_id;
      
      Könnte das Klappen?

      Horst Köcher
      koecherecho@aol.com


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von horstees (229 Beiträge) am Montag, 2.Dezember.2002, 11:04. WWW: horstees.de
    Änderungen und Löschungen in einer DB mit Relationsfeldern

       An
      
      Christoph Bergmann

      Beim Neuaufbau einer Datenbank mit zwei Relationen
      (diesmal schön von Anfang an planvoll,vorausschauend,überlegt,und,und,und...) :-D :-D
      kam es beim probeweisen Betrieb dennoch zu Fehlern ,und zwar zu den gleichen
      Fehlern wie anderenorts schon beschrieben.:
      Es kam zu Änderungen an falscher Stelle! :-(
      Jetzt entstand natürlich die Frage, ob diese Fehler chaotisch (also irgendwo und irgendwie) entstehen,
      oder ob man den Fehler eben eingrenzen kann.
      Dabei ist mir jetzt folgendes aufgefallen:
      Wenn ich mich in der DB-Ansicht 'ALLES' befinde und mit der Maus über 'ändern/löschen' spaziere,
      kann ich ja unten in der Statusleiste die Adressen lesen, und aus der Adresse kann ich die vergebene Id
      entnehmen.
      Bei meinen bislang vier Einträgen der Erwartung entsprechend die Id's von 0 - 3,
      und soweit ist auch alles o.K.
      Wenn ich aber jetzt in die DETAIL-Ansicht wechsele und nun wieder mit der Maus über 'ändern/löschen' fahre,
      kam es bei mir zu überraschenden Id's von z.B. 27 oder 5 oder34 usw.
      Soviele Einträge hatte ich in meine DB noch gar nicht vorgenommen.
      Woher nun kommen die Dinger?
      Zufälligerweise entspricht die Id des jeweils letzten Relationsfeldes derjenigen Id,
      die ich bei 'ändern,löschen' erfahre und
      Zufälligerweise sind es auch genau die Id's , die dann fälschlicherweise für Änderungen benutzt werden.

      Jetzt kam mir zu nächtlicher Stunde eine Idee.
      Der in der Detail-Ansicht gezeigte Datensatz liegt, so vermute ich, zunächst als Liste oder als Array vor und wird dan in einer Schleife ausgelesen.
      In dieser Schleife muss es nun unerwarteterweise dazu kommen, dass die ID der Hauptdatenbank von den IDs der 'Nebendatenbänke' überschrieben wird.
      Zum Löschen und Ändern brauche ich aber die ID der Hauptdatenbank.
      Wenn man nun vor der Schleife eine Variable einführt,etwa '$main_id', und dieser den Wert von '$_id' zuweist ($main_id = $_id;),
      dann die Schleife arbeiten lässt,
      und direkt danach,
      noch vor dem Concatten des 'Ändern-Adress-Strings' und des 'Löschen-Adress-Strings',
      sich die Ursprungs-ID wiederholt mit
      $_id = $main_id;
      
      Könnte das Klappen?

      Horst Köcher
      koecherecho@aol.com

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Montag, 2.Dezember.2002, 11:43.
    Re: Änderungen und Löschungen in einer DB mit Relationsfeldern

      hallo horst,

      wie in letzter zeit schon öfter hier beschrieben, funktioniert die relation in bp nicht. bei komplexeren sachen ist es sinnvoll, wenn man sich die relationen selber strickt (wie auch schon christoph neulich gepostet). aber vielleicht sollte christoph auch die (nicht funzende) relation rausnehmen.

      gruss
      claus

     Antworten

    Beitrag von horstees (229 Beiträge) am Montag, 2.Dezember.2002, 18:11. WWW: horstees.de
    Re: Änderungen und Löschungen in einer DB mit Relationsfeldern

      hallo chris,
      das Relationsfeld würde ich gerne retten.
      Es ist nämlich dann eine tolle Sache,wenn Leute in eine Datenbank eintragen, die normalerweise nicht mit den Hintergründen vertraut sind.Für diese erscheint die Relation wie ein Optionsfeld als aufklappbares Menu.
      Sie können dann sofort erkennen, welche Einträge überhaupt möglich sind und somit auch verarbeitet werden können.
      Wenn in der berühmten 'Kundendatenbank' der Bearbeiter
      als 'Auto' einen 'Wishiwashi' einträgt kann er lange hoffen, dass der Webmaster in seinem Template da eine Relation hinstrickt,wenn es in der 'Auto'-Datenbank eben keinen 'Wishiwashi' gibt und der da auch so bald nicht eingetragen wird.
      Im Relationsfeld kann ich eben wie im Optionsfeld nur aus einer Liste aussuchen und verhindere unsinnige Einträge.
      Also:
      Wer auch immer soll sich da noch mal drum kümmern:
      <center>ERHALTET DAS RELATIONSFELD!</center>
      
      horst:-)

     Antworten


     
 Liste der Einträge von 42000 bis 42150:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!