Autor Beitrag
SmileySN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: So 04.06.06 12:09 
Datenbank Firebird 1.5 Server-Client eingestellt.
Arbeite an 2 Arbeitsplätzen mit der DB.
Wenn ich an Platz1 Daten speichere, sind sie dort auch weiterhin gespeichert.
Auf Platz2 haben die Daten noch den alten Wert, auch wenn ich neu selektier und einlese.
Will ich an Platz2 den gleichen Datensatz speichern wie an Platz1, dann kommt die Meldung:
deadlock update conflict with concurrent update.

Das bedeutet doch, dass die Änderung von Platz1 nicht endgültig ausgeführt worden ist.
In der Connection habe ich aber AUTOCOMIT auf True sitzen.
Er sollte demnach doch selbst die Transaktion beenden.

Die Änderungen an den Daten werden mit Query.post gespeichert.

Verlasse ich das Programm an Platz2 und rufe es erneut auf, dann sind die Änderungen von Platz1 vorhanden.

Irgendwas muss ich noch abschließen, aber was ???
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mo 05.06.06 14:12 
Hi,

die Änderungen an Platz 1 sind schon gespaeichert. Die Fehlermeldung besagt nur, dass Du an PLatz 2 einen Datensatz änderst, der durch eine frührere Transaktion geändert worden ist, von der Du aber noch nichts mitbekommen hast.

Du kannst jetzt die Transaktionsparameter ändern, so dass ein CLose-Open des DataSet ausreicht oder Du musst die Transaktion beenden und neu starten.

Grüße
Lemmy
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Mo 05.06.06 14:47 
Danke Lemmy für die Antwort.
Genau so ist es wie Du sagst, ich wollte nur wissen, wie ich die Transaktionsparameter so einstelle, dass er ohne weitere Meldungen überschreibt.
Wo ändere ich die Transaktionsparameter ?
Im Quelltext ?
Im Objektinspector ?
In der Datenbank mit z.B. IBExpert ?
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mo 05.06.06 17:19 
mit welchen Komponenten stellst du denn die Datenbankverbindung her ? Zeos ?

_________________
In the beginning was the word.
And the word was content-type: text/plain.
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Mo 05.06.06 19:26 
ja, genau mit den ZEOS Komponenten.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mo 05.06.06 19:38 
Mit der Eigenschaft .TransactIsolationLevel der TZConnection-Komponente.

_________________
Markus Kinzler.
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Mo 05.06.06 22:47 
Danke, jetzt macht er das was ich will.