this answer
で paulsm4 が言及したように
、Delphi はストアド プロシージャのパラメータ記述子を取得することを気にしないため、自分で取得する必要があります。パッケージから 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;