Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#23

Re: Datenbank wird nicht aktualisiert

  Alt 18. Jun 2009, 09:39
Hallo,

Tyreal
Zitat:
Und was willst du in der Datenbank aktualisieren mit einem SELECT?
SELECT macht in zusammen mit CommitTrans keinen Sinn.
Doch, macht es, wenn z.B. mehrere Selects ausgeführt werden.
Jede Aktion läuft ja in einer Transaktion, ob man es will oder nicht
(egal ob select/insert/update).
Ja nach benutztem DB-Framework gibt es noch automatische Transaktionen.
Um zu verhindern, dass pro Select eine Transaktion gestartet wird,
schreibt man das StartTransaction selber.

Firebird ist ein schönes Bsp.
Benutze ich autocommit (Bde,FIBPlus, Zeos ?),
werden ein Haufen Transaktionen erzeugt,
auch wenn ich nur Selects mache, das Programm wird langsamer.


Zum Thread-Ersteller:
Der MySQL-Engine-Typ fehlt noch.


Zitat:
Wenn nämlich in der zwischenzeit von Außen jemand Änderungen in der Datenbank gemacht hat
Wer macht denn die Änderungen, dein eigenes Programm (auf einem anderen Recher?).

Zu der Fehlermeldung gibt es per Google doch eindeutige Aussagen.
Dein Programm erzeugt DB-Anweisungen, die nicht mit MySQL kompatibel sind.
Du musst erst mal rausbekommen, welche Query das direkt ist,
z.B. indem du mal alle Schreibzugriffe rasukommentierst
und dann schrittweise wieder reinnimmst.

Zitat:
"Ich kann das Programm nicht ändern"
Dann kannst du MySQL als DB nicht verwenden ...

Zum Engine-Typ:
Ist das InnoDB, werden Transaktionen unterstützt.
Um Änderungen zu sehen, die ein anderes Programm (oder dein eigenes mit anderer Connection)
gemacht hat, musst du mit Transaktionen arbeiten.


Heiko
Heiko
  Mit Zitat antworten Zitat