Re: [MSEide-MSEgui-talk] Could not catch error message

2011-09-09 Thread wahono sri
  tmsesqlquery.applyupdates with raise error from server, and command after *
  except* never executed.
 
 Strange, works for me.  A FPC bug?

Upps! I forgot put raise before rollbackretaining, so rollback never executed.


 Then you should use try..except..end and savepoints.

I try with :

try
  tmsesqltransaction1.savepointbegin;
  ...
  ...
 tmsesqlquery1.applyupdates;
 tmsesqlquery2.applyupdates;
 
 tmsesqltransaction1.commitretaining(false);
except
 //tmsesqltransaction1.RollbackRetaining;==all buffer in dataset is
deleted, than record position moves to last record.
// With this way, user should repeat all input and they can not edit
where error come from.
 tmsesqltransaction1.savepointrollback;  all buffer in dataset
still exist, but after I edit and update again, I got
 // different error, I think dataset buffer does not build SQL syntax again.
end;

After run tmsesqltransaction1.RollbackRetaining or
tmsesqltransaction1.savepointrollback, the dataset look success
update, I think dataset.state change to dsBrowse, I think it should
still dsEdit or dsInsert.

Thanks
___
MSEide-MSEgui-talk mailing list
MSEide-MSEgui-talk@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] Could not catch error message

2011-09-09 Thread Martin Schreiber
On Friday 09 September 2011 08:28:30 wahono sri wrote:
 
 After run tmsesqltransaction1.RollbackRetaining or
 tmsesqltransaction1.savepointrollback, the dataset look success
 update, I think dataset.state change to dsBrowse, I think it should
 still dsEdit or dsInsert.
 
I assume you call post before calling applyupdates? After post dataset state 
is dsBrowse.
applyupdates() calls checkbrowsemode() too. 

Martin
___
MSEide-MSEgui-talk mailing list
MSEide-MSEgui-talk@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] Could not catch error message

2011-09-09 Thread wahono sri
 I assume you call post before calling applyupdates? After post dataset state
 is dsBrowse.
 applyupdates() calls checkbrowsemode() too.

Yes, you're right. Can this process reserved? Calling applyupdates before post?
___
MSEide-MSEgui-talk mailing list
MSEide-MSEgui-talk@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] Could not catch error message

2011-09-09 Thread Martin Schreiber
On Friday 09 September 2011 09:46:40 wahono sri wrote:
  I assume you call post before calling applyupdates? After post dataset
  state is dsBrowse.
  applyupdates() calls checkbrowsemode() too.
 
 Yes, you're right. Can this process reserved? Calling applyupdates before
 post? 

No, data is not stored in dataset recordbuffer until post() has been called. 
Remember that it is still possible to cancel edit by calling 
tdataset.cancel().

Martin
___
MSEide-MSEgui-talk mailing list
MSEide-MSEgui-talk@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk