![]() |
Datenbank: Advantage • Zugriff über: TDataSet
Edit bei mehreren Benutzern
Hallo,
ich möchte beim Zufriff auf einen Datensatz wissen, ob ein anderer User diesen schon zum edit geöffnet hat. Den Code dafür habe ich schon geschrieben. Meine Frage ist aber: Ich wollte diesen Code in dem Ereignis 'BeforeEdit' der Tabelle verwenden. Wenn jetzt dieser Code sagt, der Datensatz ist gesperrt, würde die Routine 'BeforEdit' automatisch weitermachen, und so doch eine Fehlermeldung des Datenbank-Servers anzeigen. Oder kann ich diese Routine irgendwie verlasen? Danke. Stefan |
Re: Edit bei mehreren Benutzern
Hai Stefan,
es müsste doch reichen ein DataSet.Cancel einzubauen oder? |
Re: Edit bei mehreren Benutzern
Langt nicht ein einfaches:
Delphi-Quellcode:
??? :gruebel: :gruebel: :gruebel:
procedure TForm1.ADOQuery1BeforeEdit(DataSet: TDataSet);
begin if Datensatzgesperrt then Exit; SonstigeRoutinen... end; |
Re: Edit bei mehreren Benutzern
Zitat:
|
Re: Edit bei mehreren Benutzern
Aber beim Ater Edit ist es "schon zu spät", da Edit schon ausgelöst
wurde und dann der Datenbank-Server die Fehlermeldung erzeugt. Wie macht ihr das denn bei mehreren Benutzer sicher stellen, das nur ein User den Datensatz bearbeitet? |
Re: Edit bei mehreren Benutzern
Zitat:
|
Re: Edit bei mehreren Benutzern
Hi,
wenn ich mich recht erinner, müsste ein ![]() Allerdings halte ich diese Vorgehensweise in deinem Fall nicht für die beste, denn so wird der Benutzer nicht darüber informiert, dass und warum der Satz nicht gespeichert werden kann. Ich würde eher vorschlagen, global (im ![]() MfG Stevie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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