Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#4

AW: Letzte vergebene Nummer speichern

  Alt 3. Aug 2022, 21:09
Zitat:
Dort gibt es meines Wissens nach keine CriticalSections oder doch?
Eigentlich doch.

Wenn du in eine Tabelle/Feld rein schreibst, dann wird dieser Record/Tabelle/Speicherseite gesperrt und kein Anderer kann reinschreiben.
Er kommt erst ebdgültig dazu, wenn die aktuelle Schreibaktion/Query beendet ist.

Du kannst also den Wert einfach reinschreiben und, wenn gewünscht, den zuletzt aktuellen Wert auch auslesen, ohne das zwischendrin ein Anderer schreiben kann.




Aber wie Vorgänger bereits sagte,
das Erstellen/Generieren kann glechzeitig passieren und dann kommt es drauf an, wer zuerst zum Speichern kommt ... dort könnte sich die Erstellungsreihenfolge umdrehen und dann der Erste zuletzt speichern.

Besser ist es, wenn du auf einen Generator des DBMS zugreifst.

Oder eben wie von Papaschlumpf73 genannt : nicht "die ID speichern", sondern ALLE und dann in der Tabelle ein Feld mit Generator (SERIAL) als Reihenfolge.



In manchen DBMS kann man Funktionen einer externen DLL oder Scriptes registrieren.
Da drin kannst du dann auch mit einer CriticalSection o.Ä. arbeiten.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 3. Aug 2022 um 21:14 Uhr)
  Mit Zitat antworten Zitat