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

Procedure事前定義文を追加する


注 –

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


  1. 事前定義文の追加」ダイアログボックスで、「追加」をクリックします。

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

    事前定義ステートメント

  2. 事前定義文の名前を入力します。次に、「SQL ステートメント」ダイアログボックスで SQL 文クリックするか、または「ステートメントビルダー」ボタンをクリックして SQL 文を作成します。文の作成が完了したら、「名前をつけて保存」をクリックします。この文には、先ほど入力した名前を付けます。この名前がノードとして OTD に表示されます (次の図を参照)。「了解」をクリックします。

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

    事前定義 SQL ステートメント

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

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


    注 –

    事前定義文を保存したら、事前定義文パラメータの ResultSet 列の名前が、特殊文字 (角括弧など) を含まない有効な英数字文字列であることを確認してください。


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

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

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


    注 –

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


    図 1–30 ResultSet 列

    ResultSet 列

  6. 「事前定義ステートメントの追加」ダイアログボックスで、「了解」をクリックします。