Hallo,
so langsam zweifele ich an meinem Verstand. Die Transaktion "trUpdateDruckM" hat die Eigenschaft "Snapshot". Beim Ausführen erhalte ich den Fehler "lock conflict on no wait transaction. Deadlock".
Aber wieso? Sie wird doch manuell gestartet und beendet. Außer in der untenstehenden Prozedur wird sie nirgends aufgerufen.
<pre>
<b>procedure</b> TDruckAufforderungen.trUpdateDruckMStart(Sender: TObject);
<b>begin</b>
<b>if</b> trUpdateDruckM.Active = False <b>then</b> trUpdateDruckM.StartTransaction;
<b>end</b>;</pre>
<pre>
<b>procedure</b> TDruckAufforderungen.DruckmarkierungK(Sender: TObject);
<b>var</b> sD, sD30 :<b>String</b>;
<b>begin</b>
sD := DateToStr(Date);
sD30 := DateToStr((Date) -30);</pre><pre>
trUpdateDruckMStart(<b>nil</b>);
Updater.SQL.Clear;
Updater.SQL.Add('UPDATE TEILNAHMEN SET DRUCK_K = '''+sD+'''');
Updater.SQL.Add('WHERE DRUCK_K <= '''+sD30+'''or DRUCK_K IS NULL');
Updater.ExecSQL;
<b>if</b> trUpdateDruckM.InTransaction = True <b>then</b> trUpdateDruckM.Commit;
<b>end</b>;</pre>
Bin für jeden Rat dankbar.
Peter
so langsam zweifele ich an meinem Verstand. Die Transaktion "trUpdateDruckM" hat die Eigenschaft "Snapshot". Beim Ausführen erhalte ich den Fehler "lock conflict on no wait transaction. Deadlock".
Aber wieso? Sie wird doch manuell gestartet und beendet. Außer in der untenstehenden Prozedur wird sie nirgends aufgerufen.
<pre>
<b>procedure</b> TDruckAufforderungen.trUpdateDruckMStart(Sender: TObject);
<b>begin</b>
<b>if</b> trUpdateDruckM.Active = False <b>then</b> trUpdateDruckM.StartTransaction;
<b>end</b>;</pre>
<pre>
<b>procedure</b> TDruckAufforderungen.DruckmarkierungK(Sender: TObject);
<b>var</b> sD, sD30 :<b>String</b>;
<b>begin</b>
sD := DateToStr(Date);
sD30 := DateToStr((Date) -30);</pre><pre>
trUpdateDruckMStart(<b>nil</b>);
Updater.SQL.Clear;
Updater.SQL.Add('UPDATE TEILNAHMEN SET DRUCK_K = '''+sD+'''');
Updater.SQL.Add('WHERE DRUCK_K <= '''+sD30+'''or DRUCK_K IS NULL');
Updater.ExecSQL;
<b>if</b> trUpdateDruckM.InTransaction = True <b>then</b> trUpdateDruckM.Commit;
<b>end</b>;</pre>
Bin für jeden Rat dankbar.
Peter
Comment