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