ストアド プロシージャタイプのデータセットの利用
データセットの理解:インデックス への移動
アプリケーションでのストアドプロシージャの使い方は,そのストアドプロシージャのコーディング方法,データを返す方法,使用するデータベースサーバー,およびこれらの要因の組み合わせによって異なります。
サーバー上のストアドプロシージャにアクセスする手順は次のとおりです。
- 適切なデータセットコンポーネントをデータモジュール上かフォーム上に配置して,Name プロパティにアプリケーションに適したユニークな値を設定します。
- ストアドプロシージャを定義しているデータベースサーバーを設定します。設定の方法は,ストアドプロシージャタイプのデータセットごとに異なっています。しかし通常は,データベース接続コンポーネントを指定します。
- TStoredProc の場合,DatabaseName プロパティを使用し,TDatabase コンポーネントまたは BDE エリアスを指定する
- TADOStoredProc の場合,Connection プロパティを使用し,TADOConnection コンポーネントを指定する
- TSQLStoredProc の場合,SQLConnection プロパティを使用し,TSQLConnection コンポーネントを指定する
- TIBStoredProc の場合,Database プロパティを使用し,TIBConnection コンポーネントを指定するデータベース接続コンポーネントの使い方については,「データベースへの接続」を参照してください。
- 実行するストアドプロシージャを指定する。ほとんどのストアドプロシージャタイプのデータセットの場合,StoredProcName プロパティを設定します。例外は TADOStoredProc で,かわりに ProcedureName プロパティがあります。
- ストアドプロシージャが返すカーソルがビジュアルデータコントロールで使用される場合は,データソースコンポーネントをフォームやデータモジュールに追加して,DataSet プロパティにストアドプロシージャタイプのデータセットを設定します。データベース対応コンポーネントの DataSource プロパティと DataField プロパティを使ってデータソースに接続します。
- 必要であればストアドプロシージャに入力パラメータ値を指定します。サーバーがすべてのストアドプロシージャパラメータについての情報を提供するとは限らない場合,パラメータ名やデータ型のような付加的な入力パラメータ情報を用意する必要があります。ストアドプロシージャパラメータを扱う方法については,「ストアドプロシージャのパラメータの操作」を参照してください。
- ストアドプロシージャを実行します。カーソルを返すストアドプロシージャの場合は,Active プロパティか Open メソッドを使用します。結果を返さない,または出力パラメータだけを返すストアドプロシージャを実行する場合は,実行時に ExecProc メソッドを使用します。複数回ストアドプロシージャを実行する予定であれば,Prepare を呼び出して,データアクセス層を初期化し,パラメータ値をストアドプロシージャに結合するとよいでしょう。ストアドプロシージャの準備については,「ストアドプロシージャの準備」を参照してください。
- 結果を処理します。これらの結果は,結果および出力パラメータとして返すことができます。または,ストアドプロシージャタイプのデータセット内の結果セットとして返すこともできます。一部のストアドプロシージャは,複数のカーソルを返します。付加的なカーソルの詳細は,「複数の結果セットを取得する」を参照してください。