Som paulsm4 nævnte i this answer
, Delphi er ligeglad med at få lagrede procedureparameterbeskrivelser, og så du er nødt til det selv. For at hente parametre for Oracles lagrede procedure fra en pakke, kan du prøve at bruge GetProcedureParams
metode til at udfylde listen med parameterbeskrivelser og med LoadParamListItems
procedure udfyld med denne liste Params
kollektion. I kode kan det se ud som følger.
Bemærk venligst, at følgende kode kun blev skrevet i browseren i henhold til dokumentationen, så den er ikke testet. Og ja, om at frigøre ProcParams
variabel, dette gøres af FreeProcParams
procedure:
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;