AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Transactionhandling bei Interbase - suche die beste Methode
Thema durchsuchen
Ansicht
Themen-Optionen

Transactionhandling bei Interbase - suche die beste Methode

Ein Thema von grips-net · begonnen am 3. Sep 2004 · letzter Beitrag vom 4. Sep 2004
 
grips-net

Registriert seit: 3. Sep 2004
Ort: St. Wendel
50 Beiträge
 
#6

Re: Transactionhandling bei Interbase - suche die beste Meth

  Alt 4. Sep 2004, 13:52
Das Problem ist ganz einfach zu beschreiben:

Es gibt eine Liste mit Einträgen (z.B. Adressen). Diese werden über SELECT * FROM adressen ausgelesen. Nun kann der Benutzer einen Eintrag auswählen und diesen in einer anderen, modalen FORM bearbeiten.

Dazu wird der Satz für diese Form neu angefordert. SELECT * FROM adressen WHERE id=:ID .

Leider gibt es in Interbase kein FOR UPDATE. Zumindest scheint es nicht zu funktionieren.
Denn nun kann ein anderer Benutzer ja den gleichen Satz öffnen.
Beide machen ihre Änderung und speichern ab:

UPDATE adressen SET aenderung="änderung" WHERE id=:ID Entweder überschreibt der, der zuletzt speichert die Änderungen des ersten oder - je nach Einstellung der Transaction - werden die Änderungen des zweiten nicht angenommen. Einer der beiden wird sich ärgern.

Schon beim Abrufen des Satzes für die Änderung muss dem zweiten Benutzer meiner Meinung nach mitgeteilt werden, dass sich der Datensatz gerade in Bearbeitung befindet. Dies mache ich eben durch den Versuch eines Pseudo-UPDATES das fehlschlägt, wenn eine andere Transaction den Datensatz in Bearbeitung hat.

@Bernhard: Inwiefern diese Methode den Server belastet muss ich jetzt testen. Daran hatte ich nicht gedacht. Hoffentlich schafft er es.

@Albi: Kennst du eine weitere Methode? Deine Nachfrage zielt nämlich genau ins Schwarze.


Danke schonmal...

Michael
  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 16:24 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