Как предотвратить удаление параметров после выполнения запроса?
type
TDatasetProviderEx = class(TDatasetProvider)
protected
// По умолчанию, если среди параметров есть Output или InputOutput,
// то все параметры кроме этих будут стерты. Так что переопределяем
// процедуру и немного модифицируем ее.
function InternalGetParams(Types: TParamTypes = AllParamTypes): OleVariant; override;
end;
implementation
uses
{...,} Datasnap.DBClient;
function TDatasetProviderEx.InternalGetParams(Types: TParamTypes): OleVariant;
var
lParams: TParams;
begin
CheckDataSet;
lParams := IProviderSupport(DataSet).PSGetParams;
if (lParams = nil) or (lParams.Count = 0) then
Result := NULL
else
Result := PackageParams(lParams, [ptInput, ptOutput, ptInputOutput, ptResult]{AllParamTypes});
// Или просто:
// Result := inherited InternalGetParams([ptInput, ptOutput, ptInputOutput, ptResult]);
end;
|