Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Trigger verhindet löschen eines Datensatzes (https://www.delphipraxis.net/54243-trigger-verhindet-loeschen-eines-datensatzes.html)

VizeTE 5. Okt 2005 11:29

Re: Trigger verhindet löschen eines Datensatzes
 
Zitat:

Zitat von Jelly
Was hat dein Primary Key mit Delphi zu tun :gruebel: Ich versteh dein Problem nicht.

dfried hat ein Refresh vorgeschlagen. Wenn ich aber myQuery.Refresh aufrufen bekomme ich die Fehlermeldung:

Operation wird nicht unterstützt - Tabelle ist nicht eindeutig indiziert. (EDBEngineError)

Jelly 5. Okt 2005 11:33

Re: Trigger verhindet löschen eines Datensatzes
 
Das typische nicht vermeidbare Refresh Problem also.

Leider kommst du nicht um ein close, open herum. Dadurch allerdings stehst du nicht mehr auf dem gewünschten Record, d.h. du musst mit Locate wieder dorthin springen.

VizeTE 5. Okt 2005 12:08

Re: Trigger verhindet löschen eines Datensatzes
 
Das habe ich schon befürchtet.
Das ist bei großen Datenmengen aber recht nervig, daher hatte ich gehofft das es eine bessere Lösung gibt.

Ich werde mal ein wenig mit der Methode UpdateMode auf upWhereKeyOnly setzen herumspielen. Auf den ersten Blick schien das ganz gut zu funktionieren.

dfried 5. Okt 2005 12:12

Re: Trigger verhindet löschen eines Datensatzes
 
Zitat:

Zitat von VizeTE
Das habe ich schon befürchtet.
Das ist bei großen Datenmengen aber recht nervig, daher hatte ich gehofft das es eine bessere Lösung gibt.

Das stimmt allerdings, ist halt ein Problem von Interbase und der BDE :-(

Zitat:

Zitat von VizeTE
Ich werde mal ein wenig mit der Methode UpdateMode auf upWhereKeyOnly setzen herumspielen. Auf den ersten Blick schien das ganz gut zu funktionieren.

Du musst nur beachten, dass halt mit dieser Einstellung auch bei "normalen" updates nicht mehr alle Felder auf evtl. Änderungen durch andere User geprüft werden d.h. im Multiuserbetrieb kann es unter Umständen dann dazu führen, dass Benutzer A den Datensatz ändert während Benutzer B auch schon dabei ist. Derjenige der zuletzt auf "speichern" drückt hat halt gewonnen. :)

Ansonsten gibt es eigentlich keine (mir bekannten) Probleme mit dem umsetzen des UpdateMode.

Gruß
Daniel

VizeTE 5. Okt 2005 12:43

Re: Trigger verhindet löschen eines Datensatzes
 
Zitat:

Zitat von dfried
Du musst nur beachten, dass halt mit dieser Einstellung auch bei "normalen" updates nicht mehr alle Felder auf evtl. Änderungen durch andere User geprüft werden d.h. im Multiuserbetrieb kann es unter Umständen dann dazu führen, dass Benutzer A den Datensatz ändert während Benutzer B auch schon dabei ist. Derjenige der zuletzt auf "speichern" drückt hat halt gewonnen. :)

Ahh...dann hatte ich das doch noch nicht ganz verstanden. Aber ich denke mit dieser Einschränkung kann ich leben. Bei dieser Tabelle sollten eingentlich nur eine Person zur gleichen Zeit arbeiten. Die Daten sind auch nicht sooo kritisch falls da mal was "falsch" gespeichert wird.

Danke! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
Seite 3 von 3     123   

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