Seperti yang disebutkan paulsm4 dalam this answer
, Delphi tidak peduli untuk mendapatkan deskriptor parameter prosedur tersimpan, sehingga Anda harus melakukannya sendiri. Untuk mendapatkan parameter prosedur tersimpan Oracle dari sebuah paket, Anda dapat mencoba menggunakan GetProcedureParams
metode untuk mengisi daftar dengan deskriptor parameter dan dengan LoadParamListItems
prosedur isi dengan daftar itu Params
koleksi. Dalam kode mungkin terlihat seperti berikut.
Harap dicatat, bahwa kode berikut ditulis hanya di browser sesuai dengan dokumentasi, jadi belum diuji. Dan ya, tentang membebaskan ProcParams
variabel, ini dilakukan oleh FreeProcParams
prosedur:
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;