結果セットを返さないストアドプロシージャを実行する
データセットの理解:インデックス への移動
ストアド プロシージャがカーソルを返す際、データセットをレコードで設定するのと同じ方法で実行できます:つまり、Active を True に設定し、Open メソッドを呼び出します。
ただし、しばしばストアド プロシージャはデータを返さないことがあったり、出力パラメータにおいてのみ結果を返すことがあります。結果セットを返さないストアド プロシージャは、ExecProc を呼び出すことで実行することができます。ストアド プロシージャを実行した後、ParamByName メソッドを使用して、結果パラメータの値や出力パラメータの値を読み込むことができます。
MyStoredProcedure.ExecProc; { does not return a result set }
Edit1.Text := MyStoredProcedure.ParamByName('OUTVAR').AsString;
MyStoredProcedure->ExecProc(); // Does not return a result set
Edit1->Text = MyStoredProcedure->ParamByName("OUTVAR")->AsString;
メモ: TADOStoredProc には、ParamByName メソッドはありません。ADO を使用している際に出力パラメータ値を取得するには、パラメータ オブジェクトに Parameters プロパティを使用してアクセスします。
ヒント: プロシージャを複数回実行する場合には、Prepared プロパティを True にするとよいでしょう。