AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie richtig mit Transaktionen und ADO umgehen?

Wie richtig mit Transaktionen und ADO umgehen?

Ein Thema von andy3453 · begonnen am 12. Jun 2004 · letzter Beitrag vom 9. Sep 2004
 
andy3453

Registriert seit: 7. Mai 2003
10 Beiträge
 
#1

Wie richtig mit Transaktionen und ADO umgehen?

  Alt 12. Jun 2004, 20:16
Hallo,

ich möchte ein Programm schreiben mit dem mehere User gleichzeitig arbeiten sollen.
Dazu verwende ich D7, ADO und einen MSSQL2000 Server.

Ich hab mich bereits ein wenig mit Transaktionen in Delphi und ADO auseinandergesetzt, aber habe keine richtige Lösung für das
Problem des 'Lost Updates' gefunden.

Mein Code für ein Update sieht bislang erstmal so aus:
Delphi-Quellcode:
 ADOConnection1.BeginTrans;
  try
    QKunde.Active:=false;
    QKunde.SQL.Clear;
    QKunde.SQL.Add('UPDATE Kunde SET KName1=Hanswurst WHERE KundeID=288');
    QKunde.ExecSQL;
   ADOConnection1.CommitTrans;
      except
    on E:Exception do ADOConnection1.RollbackTrans;
    end;
Soweit klappt das Ganze auch ganz gut, im Profiler kann ich die Transaktion verfolgen und ich das Prog zwichendurch abschieße
gibt´s nen feinen RollBack.

Nur wie macht man es richtig das wenn zwei User gleichzeitig in der Kundenmaske sind der eine dem anderen nicht das Update versaut.(Lost Update) Klar ich könnte grundsätzlich den Datensatz sperren und eine Meldung ausgeben, nur ist das nicht so richtig schön finde ich. Ich hatte schon gedacht den kompletten Datensatz in ein Array zu speichern und dann den Inhalt des Array im Moment des Updates mit dem jetzt aktuellen Inhalt zu vergleichen. Würde dann ein Unterschied sein könnte ich ein Rollback auslösen.

Hmm, irgendwie komm ich da nicht wirklich weiter. Ist das überhaupt der richtige Ansatz den ich da habe?
Oder macht das ein schlauer Programmierer ganz anders?

In diesem Sinne, danke schonmal für Eure Hilfe...

Andy
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:21 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 by Thomas Breitkreuz