Comme paulsm4 l'a mentionné dans this answer
, Delphi ne se soucie pas d'obtenir des descripteurs de paramètres de procédure stockée, et de sorte que vous devez le faire vous-même. Pour obtenir les paramètres de la procédure stockée Oracle à partir d'un package, vous pouvez essayer d'utiliser le GetProcedureParams
méthode pour remplir la liste avec des descripteurs de paramètres et avec les LoadParamListItems
procédure remplir avec cette liste Params
le recueil. Dans le code, cela pourrait ressembler à ceci.
Veuillez noter que le code suivant a été écrit uniquement dans le navigateur conformément à la documentation, il n'a donc pas été testé. Et oui, à propos de la libération de ProcParams
variable, cela est fait par le FreeProcParams
procédure :
var
ProcParams: TList;
StoredProc: TSQLStoredProc;
...
begin
...
StoredProc.PackageName := 'KP_DATASNAPTEST';
StoredProc.StoredProcName := 'GetFaxData';
ProcParams := TList.Create;
try
GetProcedureParams('GetFaxData', 'KP_DATASNAPTEST', ProcParams);
LoadParamListItems(StoredProc.Params, ProcParams);
StoredProc.ParamByName('abbr').AsString := 'ZZZTOP';
StoredProc.Open;
finally
FreeProcParams(ProcParams);
end;
...
end;