AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Transaktionsfrage

Ein Thema von haentschman · begonnen am 29. Jan 2008 · letzter Beitrag vom 30. Jan 2008
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Transaktionsfrage

  Alt 29. Jan 2008, 17:45
Um Gottes willen, willst Du die Transaktion offen halten, während der Benutzer zur Mittagspause ist, sich zusäuft, ins Krankenhaus muss, dann zur Reha und schließlich in den Ruhestand? Dann ist die Transaktion bis zum Sankt Nimmerleinstag offen und blockiert alles und jeden.

Nee, nee.

Lieber so:
Code:
Daten laden.
Daten verändern lassen.
Daten speichern:
  Transaktion starten
  Prüfen, ob in der Zwischenzeit Daten verändert wurden und Konflikte lösen
  Daten in die DB
  Transaktion Committen
Alternativ kannst Du dir eine Lock-Tabelle basteln, in der die zur Bearbeitung geladenen Objekte befinden. Vor dem Laden 'zum Bearbeiten' prüfst Du, ob der Datensatz schon in der Tabelle ist, wenn ja, sagst Du 'tut mir leid, der Datensatz ist gesperrt'.

Auch das hat Nachteile, wenn eben der andere zur Mittagspause geht und bla bla bla.

Ich bevorzuge die sanfte Methode der Konfliktlösung, die nur dann auftritt, wenn mehrere Leute die gleichen Daten eines Datensatzes ändern. Und wann passiert das denn? Bei schlecht organisierten Chaosabteilungen?

Delphi bietet übrigens so einen Mechanismus mit den TClientDatasets und dem 'Reconcile-Dialog'..
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


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 19:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz