データベースアダプタ用 OTD の開発

Procedure事前定義文を追加する

事前定義文を使用するときは、ResultsAvailable() メソッドは常に true を返します。このメソッドは使用可能ですが、while ループでは使用しないでください。while ループで使用すると、実行時に無限ループに入ってしまい、システムのすべての CPU が停止状態になります。使用する場合は、if 文でのみ使用してください。next() メソッドによるループで結果セットを処理できます。

  1. 事前定義ステートメントの追加」ウィンドウで、「追加」をクリックします。

    図 1–2 事前定義ステートメント

    事前定義ステートメントの追加

  2. 事前定義文の名前を入力するか、または「SQL ステートメント」ウィンドウ内でクリックして SQL 文を作成します。文の作成が完了したら、「名前をつけて保存」をクリックして文の名前を指定します。この名前は、OTD のノードとして表示されます。「了解」をクリックします (次の図を参照)。

    図 1–3 事前定義 SQL ステートメント

    事前定義ステートメント画面

  3. 事前定義ステートメントの追加」ウィンドウに、事前定義文に割り当てた名前が表示されます。パラメータを編集するには、「パラメータの編集」をクリックします。データ型を変更するには、「タイプ」フィールドをクリックして、リストから別のタイプを選択します。


    注 –

    2 つ以上のテーブルを使用する事前定義文を実行する場合、複数のテーブルに同じ列名があるときは、事前定義文にテーブル名修飾子を入れて OTD を構築します。


  4. 文にパラメータを追加する場合は、「追加」をクリックします。また、パラメータを削除する場合は、その行を強調表示させて「削除」をクリックします。「了解」をクリックします (次の図を参照)。

    図 1–4 事前定義ステートメントパラメータの編集

    事前定義ステートメントパラメータ

  5. ResultSet 列を編集するには、「ResultSet 列の編集」をクリックします。名前とタイプも編集可能ですが、名前は変更しないことをお勧めします。名前を変更すると、ResultSet とデータベースの間で整合性が失われます。「了解」をクリックします (次の図を参照)。


    注 –

    OTD ウイザードでは、複数のテーブルで同じ列名を使用する複雑な事前定義文で OTD を作成することはできません。この問題は、列名エイリアスを使用するように SQL 文を変更することによって解決されます。


    図 1–5 ResultSet 列

    ResultSet 列

  6. 「事前定義ステートメントの追加」ウィンドウで、「了解」をクリックします。