Delphi - Autocreated Business Process - Custom Driver - Assigning Parameters

Evgeny,

Thank you so much for the help on getting the sql statement and parameters from the auto created business process in a prior thread from the other day.

We have now determined that are problem that was occurring with our ASA custom driver with inserts, updates, and deletes was solely a problem with the parameters not being passed correctly. The names for the parameters are being passed but not the values.

What are the routines needed to be overridden in a custom driver for this to be accomplished correctly? And is there something special to be done in passing values to a parameter?

This morning we are looking thru the FireDAC driver at the GetParameterValues and SetParameterValues procedures to see how they set that up. Using ODBC for FireDAC, our program works. We would just like to get our Liodden driver working and not have to use ODBC.

Thanks.
Bill Brittain

Hi,

in general, overriding GetParamValues/SetParamValues is enough:

  TDAETurboDBQuery = class(TDAEDataset)
  protected
..
    // IDAMustSetParams
    procedure SetParamValues(AParams: TDAParamCollection); override;
    procedure GetParamValues(AParams: TDAParamCollection); override;
  end;
procedure TDAETurboDBQuery.GetParamValues(AParams: TDAParamCollection);
begin
  GetParamValuesStd(AParams, TTdbQuery(Dataset).Params);
end;

procedure TDAETurboDBQuery.SetParamValues(AParams: TDAParamCollection);
begin
  SetParamValuesStd(AParams, TTdbQuery(Dataset).Params);
end;

you can check other drivers and review how these methods are implemented