जैसा कि paulsm4 ने this answer
में उल्लेख किया है
, डेल्फी संग्रहीत प्रक्रिया पैरामीटर डिस्क्रिप्टर प्राप्त करने की परवाह नहीं करता है, और ताकि आपको इसे स्वयं ही करना पड़े। किसी पैकेज से Oracle संग्रहीत कार्यविधि के पैरामीटर प्राप्त करने के लिए, आप GetProcedureParams
पैरामीटर डिस्क्रिप्टर और LoadParamListItems
प्रक्रिया उस सूची के साथ भरें Params
संग्रह। कोड में यह इस प्रकार दिख सकता है।
कृपया ध्यान दें, कि निम्नलिखित कोड केवल दस्तावेज़ीकरण के अनुसार ब्राउज़र में लिखा गया था, इसलिए इसका परीक्षण नहीं किया गया है। और हाँ, ProcParams
. को मुक्त करने के बारे में चर, यह FreeProcParams
द्वारा किया जाता है।
प्रक्रिया:
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;