Einzelnen Beitrag anzeigen

Benutzerbild von lume96
lume96

Registriert seit: 14. Sep 2003
Ort: Rognac/Marseille - Frankreich
128 Beiträge
 
Delphi 7 Professional
 
#16

Re: [Interbase] Generatorwert zurücksetzen?

  Alt 11. Feb 2005, 20:23
Zitat von plautzer:
HI,
Ich habe es jetzt so gelöst, dass man einen neuen datensatz anlegen will, der Generator abgefragt wird, manuell um eins erhöht und dann in das Feld eingefügt wird (damit die id sichtbar ist).
Erst wenn man auf speichern klickt wird die ID automatisch generiert( um 1 erhöht) und die restlichen Datensätze gespeichert.
Ich denke, das ist ne gute lösung, da der Generatorwert nicht angerührt wird und er die ID automatisch generiert, somit können keinen doppelten datensätze entstehen.
Plautzer
Hi,
dabei kannst Du aber nicht sicherstellen, dass die angezeigte ID auch im Endeffekt die ID des Records ist, ausser Du bist Dir sicher, dass immer nur eine Instanz/ein User auf die DB Zugriff hat. Sonst kann Folgendes passieren :
Instanz 1 fragt 'ne ID ab und kriegt 23 zurück
Instanz 2 fragt 'ne ID ab und kriegt auch 23 zurück

Instanz 1 speichert denn Record unter 23 (der Generator ist jetzt auf 24)
Instanz 2 speichert somit mit der ID 24 (obwohl vorher 23 angezeigt wurde).

Ist für den User noch unverständlicher, wenn Du ne Falsche ID anzeigst; dann doch besser vorher gar keine ID anzeigen.

Die am Anfang erfragte ID kannst Du sowieso nicht weiterverwenden, da sie nicht "sicher" ist.

Wie ich schon oben geschrieben habe, würde ich die ID erst beim POST generieren. Wo liegt da das Problem ?

Tschüss,
Lutz
Lutz Meyer
  Mit Zitat antworten Zitat