Page 1 of 1
State before post
Posted: Thu 03 Mar 2011 12:49
by norwegen60
Hello,
is the a property, where I can get the state I have hade before post the dataset? In my example I should make a refresh, if the state was insert. Of course I can make my own variable, but if there is something in UniDac it woukld be fine.
best regards
Gerd
Posted: Thu 03 Mar 2011 13:17
by AlexP
Hello,
To determine DataSet state, you can use the State property like:
if UniQuery.State in [dsInsert, dsEdit,..] then
Posted: Thu 03 Mar 2011 15:07
by norwegen60
Yes, I know. But I want to know the status I have had before Post like
Code: Select all
UniQuery1.post
procedure TForm1.UniQuery1AfterPost(DataSet: TDataSet);
begin
if UniQuery1.BeforePost = dsInsert then
UniQuery2.refresh;
end;
Refresh should only be done, if there was an Insert before.
I can do it like
Code: Select all
UniQuery1.post
procedure TForm1.UniQuery1BeforePost(DataSet: TDataSet);
begin
stUQ1 := UniQuery1.state;
end;
procedure TForm1.UniQuery1AfterPost(DataSet: TDataSet);
begin
if stUQ1 = dsInsert then
UniQuery2.refresh;
stUQ1 := UniQuery1.state;
end;
But maybe there is a Property in UniDac I didn“t found until yet
Posted: Fri 04 Mar 2011 07:48
by AlexP
Hello,
To refresh DataSet only after insert, you can use the RefreshOptions property like
UniQuery.RefreshOptions:= [roAfterInsert];
or use the onAfterUpdateExecute event like
procedure TForm1.UniQueryAfterUpdateExecute(Sender: TDataSet;
StatementTypes: TStatementTypes; Params: TDAParams);
begin
if stInsert in StatementTypes then
UniQuery.Refresh;