< 前へ | 次へ >

演習 4: データベースへのアクセス用パーツの作成

この演習では、サンプル・データベースへのアクセスを可能にする、 データおよび論理パーツを作成します。

「EGL データ・アクセス・アプリケーション」 ウィザードで、データベースへのアクセスに必要な EGL コードを作成します。 ウィザードの実行時に、 コードをカスタマイズすることもできますが、 通常は、このウィザードによって 次の EGL パーツが作成されます。

データベース接続からパーツの作成

前の演習で、データベースへの接続を作成しました。 その接続から、EGL はデータベースへのアクセスに必要なパーツを作成することができます。

表示

  1. 「ファイル」 > 「新規」 > 「その他」の順にクリックします。 「新規」ウィンドウが開きます。
  2. 「EGL」を展開し、「データ・アクセス・アプリケーション」をクリックします。
  3. 「次へ」をクリックします。
  4. 「プロジェクト設定の定義」ウィンドウで、「プロジェクト名」リストに「EGLWeb」が表示されているようにします。
  5. 「データベース接続」リストで、前の演習で作成した EGLDerbyDB 接続を選択します。 データベース用のユーザー ID およびパスワードの入力を求めるプロンプトが表示される場合があります。表示された場合は、名前とパスワードを入力します。データベースはパスワードを必要としませんが、ワークベンチのデータ・ツールではパスワードが必要な場合があります。 データベースへの接続を確立しました。 データベースのテーブルはすべて、 ウィザード下部にある 「テーブル名」に リストされています。 一部のテーブルにはメタデータしか含まれていないため、 すべてのテーブルに対して、 データ・パーツを作成することはできません。
  6. 「表の選択」で、次の表の横にあるチェック・ボックスのみを選択します。
    • EGL.CUSTOMER
    • EGL.ITEM
    • EGL.ORDERITEM
    • EGL.ORDERS
    • EGL.SITEUSER
    • EGL.STATETABLE
    「EGL データ・アクセス・アプリケーション」ウィザードは、 次のようになります。
    6 個のテーブルが選択された状態の「EGL データ・アクセス・アプリケーション」ウィンドウの図
  7. 「Web ページの作成」チェック・ボックスがクリアされていることを確認します。 このチェック・ボックスを選択すると、EGL がデータベース・テーブルから 直接 Web ページを作成します。この機能により、単純な Web データ・アクセス・ アプリケーションが自動的に作成されるため時間を節約できますが、 このチュートリアルの目的に適合しません。
    注: まだ「完了」はクリックしないでください。 このウィザードでもう 1 つの設定を変更する必要があります。
  8. 「次へ」をクリックし、「フィールドの定義」ページに移動します。 このページでは、データベース・テーブルにキー・フィールドを追加することができます。 このページでは設定を変更しないでください。データベースの各テーブルには 既にキー・フィールドがあります。
  9. 「次へ」を再度クリックして、「プロジェクト作成オプションの定義」ページに移動します。
  10. 「プロジェクト作成オプションの定義」 ページで、「テーブル名をスキーマで修飾」チェック・ボックスを 選択します。
  11. 「終了」をクリックします。

演習のチェックポイント

「データ・アクセス・アプリケーション」 ウィザードによって、EGLWeb プロジェクトに複数の EGL 成果物が作成されました。

最初に、EGLWeb プロジェクトの EGLSource フォルダーに、新しい EGL パッケージが複数存在します (eglderbydb.dataeglderbydb.accesseglderbydb.primitivetypes.data など)。 パッケージは、フォルダーのように作用します。 パッケージに含まれるソース・コード・ファイルが、 意味のあるグループに編成されます。 この場合、eglderbydb.data パッケージには レコードが、eglderbydb.access パッケージには ライブラリーが、eglderbydb.primitivetypes.data パッケージには DataItem が、それぞれ保持されます。

次のファイルは、このチュートリアルで役に立ちます。
eglderbydb.primitivetypes.data.DataDefinitions.egl
このファイルには、他のファイルにレコード・パーツを作成する DataItem が、 すべてリストされています。 例えば、データベース上の各カスタマー・レコードに与えられる カスタマー ID 番号は、CUSTOMER_ID:
dataitem CustomerId INT end
という 名前の DataItem によって表されます。 この場合、「ID 番号」フィールドは、 整数の基本タイプがベースになります。 DataItem は、値の有効範囲および UI でのフォーマット方法などの詳細を 指定するプロパティーも、持つことができます。
eglderbydb.data.Customer.egl
このファイルには、データベース・テーブルから作成した 1 つのレコード (この場合は Customer テーブル) が含まれています。 このレコードには、氏名、住所、電話番号、ID 番号など、 お客様に関する情報を保持するフィールドが含まれています。 このレコード定義は、次のようになります。
record Customer type sqlRecord { 
        tablenames=[["EGL.CUSTOMER"]],
        fieldsMatchColumns = yes,
        keyItems=[CUSTOMERID]
    }  

  CUSTOMERID CUSTOMERID {column="CUSTOMERID"};
  FIRSTNAME FIRSTNAME {column="FIRSTNAME", sqlVariableLen=yes, maxLen=30, isSqlNullable=yes};
  LASTNAME LASTNAME {column="LASTNAME", sqlVariableLen=yes, maxLen=30, isSqlNullable=yes};
  ...
end
eglderbydb.access.CustomerLib.egl
このファイルには、 自動生成された関数ライブラリーが含まれます。 これを使用して、データベースの Customers テーブルにアクセスすることができます。 例えば、最初の関数である AddCustomer は、 新しいカスタマー・レコードをデータベースに追加します。 このライブラリーには、他にも、 データベースのレコードを取得、更新、および削除する関数があります。 また、各テーブルは、同様の関数を個別のライブラリー内に持っています。 これらの関数は、この後のチュートリアルで使用します。
< 前へ | 次へ >

フィードバック