sql >> データベース >  >> RDS >> Oracle

Delphi と DBExpress を使用してストアド プロシージャから Oracle カーソルをクライアント データセットとして返す方法

    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;
    


    1. MySQLでDECIMALをDOUBLEにキャストすることは可能ですか?

    2. 複数のキーワード検索

    3. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:不明な列「Smith」の「where句」

    4. 複式簿記からの報告