Commit nicht mehr automatisch?[erledigt]

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Commit nicht mehr automatisch?[erledigt]

Beitrag von AlterMann »

Hallo

Ich habe heute (nach längerer Zeit :oops: ) mein Lazarus auf letztstand gebracht.
Das hat zwar einen Fehler in meinem Programm behoben, aber dafür kommts jetzt noch schlimmer:

Seither speichert mein Programm nicht mehr unmittelbar in die MySQL-Datenbank.
Inserts und Updates scheinen zu funktionieren, aber sobald ich das Programm schließe ist alles wie vorher.

Jetzt hab ich bei den Transactions Action auf caCommit gesetzt.

Seither speichert es beim Beenden des Programmes dauerhaft, aber eben immer noch nicht sofort.

Kann ich das mit einer zentralen Einstellung lösen, oder muß ich nach allen SQLQuery.ExecSQL ein Transaction.Commit in das (doch schon recht Umfangreiche) Programm schreiben? :cry:

SG
Christian
Zuletzt geändert von AlterMann am So 21. Sep 2014, 19:35, insgesamt 1-mal geändert.
Früher war alles besser. Und aus Holz!

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Commit nicht mehr automatisch?

Beitrag von Socke »

AlterMann hat geschrieben:Kann ich das mit einer zentralen Einstellung lösen, oder muß ich nach allen SQLQuery.ExecSQL ein Transaction.Commit in das (doch schon recht Umfangreiche) Programm schreiben? :cry:
Ja, das wäre die beste Lösung. An sich weiß nur deine Anwendungen, wann die Transaktionen zu öffnen bzw. zu schließen sind. Ein Autocommit halte ich persönlich für wenig durchdacht.

Vielleicht hilft dir ja das hier: http://wiki.freepascal.org/User_Changes ... autocommit
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Commit nicht mehr automatisch?

Beitrag von AlterMann »

Socke hat geschrieben: Ja, das wäre die beste Lösung. An sich weiß nur deine Anwendungen, wann die Transaktionen zu öffnen bzw. zu schließen sind. Ein Autocommit halte ich persönlich für wenig durchdacht.
Du hast bestimmt recht. Deshalb (und weil AUTOCOMMIT = 1) weder in den Params vom MySQLConnection noch bei SQLTransaction irgend eine Wirkung zeigte) hab ich alle SQLQuery.ExecSQL um die Commit-Anweisungen ergänzt.

Als ich's ausprobieren wollte kam : Error: Duplicate resource: Type = 10, Name = TFORM3, Lang ID = 0000


Ich dreh' noch durch! :roll:
(Ich weiß schon warum ich Lazarusupdates meide wie der Teufel das Weihwasser ... )
Früher war alles besser. Und aus Holz!

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Commit nicht mehr automatisch?[erledigt]

Beitrag von AlterMann »

Geschafft!
War mein eigener Fehler.

Falls einmal einer über Google herkommt, weil er den gleichen Fehler hat:

Ich hatte die Hauptunit eines anderen Projektes irrtümlich in die uses-Anweisung aufgenommen und daher hat Lazarus alle TForms die dort vorkamen als "Dupliate Resource" bemängelt.
Früher war alles besser. Und aus Holz!

Antworten