Hallo allerseits,
ich habe (als relativer Delphi-Neuling) folgendes Problem mit Delphi 7 im Zusammenhang mit ADO und Master/Detail-Beziehungen (DB: MS-SQL 7):
Ich wollte gewisse Datenbankoperationen (Open, Close, Cancel, Insert, Post) der Detail-Tabellen an die entsprechenden Ereignisse der Master-Tabelle hängen (zB Detail.Open in MasterAfterOpen).
Dabei stellte ich fest, dass bei Detail-Operationen:
- Open, Close und Insert anscheinend problemlos funktionieren
- Post nicht benötigt wird (der Post der Master-Tabelle postet automatisch auch die Detail-Daten?)
- Cancel sich ganz seltsam verhält:
<PRE>
procedure AbbruchClick
Detail.Cancel;
Master.Cancel;
</PRE>
annulliert Änderungen sowohl am Master- als auch am Detail-Satz, aber:
<PRE>
procedure AbbruchClick
Master.Cancel
</PRE>
und
<PRE>
procedure MasterBeforeCancel
Detail.Cancel;
</PRE>
macht nur Änderungen am Master-Satz rückgängig, die Detail-Änderungen werden gespeichert. Ist das Verhalten korrekt oder mache ich etwas falsch?
Grüße, Karl
ich habe (als relativer Delphi-Neuling) folgendes Problem mit Delphi 7 im Zusammenhang mit ADO und Master/Detail-Beziehungen (DB: MS-SQL 7):
Ich wollte gewisse Datenbankoperationen (Open, Close, Cancel, Insert, Post) der Detail-Tabellen an die entsprechenden Ereignisse der Master-Tabelle hängen (zB Detail.Open in MasterAfterOpen).
Dabei stellte ich fest, dass bei Detail-Operationen:
- Open, Close und Insert anscheinend problemlos funktionieren
- Post nicht benötigt wird (der Post der Master-Tabelle postet automatisch auch die Detail-Daten?)
- Cancel sich ganz seltsam verhält:
<PRE>
procedure AbbruchClick
Detail.Cancel;
Master.Cancel;
</PRE>
annulliert Änderungen sowohl am Master- als auch am Detail-Satz, aber:
<PRE>
procedure AbbruchClick
Master.Cancel
</PRE>
und
<PRE>
procedure MasterBeforeCancel
Detail.Cancel;
</PRE>
macht nur Änderungen am Master-Satz rückgängig, die Detail-Änderungen werden gespeichert. Ist das Verhalten korrekt oder mache ich etwas falsch?
Grüße, Karl
Comment