> > 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
[email protected]
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk

Reply via email to