結果セットを返さないストアドプロシージャを実行する

提供: RAD Studio
移動先: 案内検索

データセットの理解:インデックス への移動


ストアド プロシージャがカーソルを返す際、データセットをレコードで設定するのと同じ方法で実行できます:つまり、ActiveTrue に設定し、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 にするとよいでしょう。

関連項目