Главная страница | назад





Article #15544: How to use the TUpdateSQLProvider.OnUpdateRecord method

 Question and Answer Database

FAQ544D.txt   How to use the TUpdateSQLProvider.OnUpdateRecord method
Category   :DCOM/MultiTier/ActiveForm
Platform    :All
Product    :Delphi 3.x  

Question:
How do I use TUpdateSQLProvider.OnUpdateRecord?

Answer:
In the UpdateRecord event, if UpdateKind is ukModify then
there are 2 records that designate the important values.
The first record contains old values, the second contains
new values.  In the event, the cursor will start on the
second record. 

The following example forces a field called Test to
UpperCase.  

procedure TForm1.UpdateSQLProvider1UpdateRecord(DataSet: 
  TClientDataSet;  UpdateKind: TUpdateKind; 
  UpdateQuery: TQuery; var Applied: Boolean);
begin
  with DataSet do
  begin
    if (UpdateKind in [ukModify, ukInsert]) and
       (not VarIsEmpty(FieldByName('TEST').NewValue) then
      UpdateQuery.ParamByName('TEST').Value :=
    UpperCase(FieldByName('TEST').NewValue);
  end;
end;

I use VarIsEmpty on the NewValue to see if the value
has changed, then I set the correct param for the query
to the value I actually want it to be.


7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99