练习 4:创建 EGL 数据部件

既然您已创建并配置了 EGL 项目,就可以准备创建 EGL 应用程序了。创建 EGL 应用程序通常包括下列步骤:

  1. 创建包。

    这些包类似于文件夹;它们组织和管理应用程序的源文件。该包是包外面的 EGL 函数能够或不能访问的代码单元,这取决于您在开发时的决定。

  2. 创建库。

    库包含在一个或多个项目中共享的函数。建议使用库,原因是它们会提供组织工作的好方法,并且它们会在某些目标环境中改善运行时性能。

  3. 创建数据部件。

    数据部件在 EGL 源文件中定义,并在 EGL 函数中声明和使用相关的变量。

  4. 创建函数。

    函数是数据访问和业务逻辑的指令。共享函数进到 EGL 库中。

  5. 创建 Web 页面和相关的页面处理程序。

    一旦创建了先前步骤中列示的文件和函数,就可以开始创建提供用户界面的 Web 页面。

  6. 测试应用程序。

    开发 Web 应用程序的最终步骤是在服务器上测试它。

在此练习中,使用“数据部件”向导以创建包、库和数据部件。

访问“EGL 数据部件”向导

  1. 在“项目资源管理器”视图中,单击 EGLWeb 项目。

    如果在创建数据部件之前不选择您的项目,则它们可能不会在您期望的地方显示。

  2. 从菜单栏中,单击文件 > 新建 > 其它。“新建”菜单打开。
  3. 展开 EGL,而不是 EGL 项目。
  4. 单击 EGL 数据部件
  5. 单击下一步。将出现“新建 EGL 数据部件”窗口。
  6. EGL 项目名称列表中,选择 EGLWeb
  7. 单击添加。将出现“新建数据库连接”窗口。

创建数据库连接

数据库连接提供从新的数据部件指向样本数据库的链接。
  1. 单击选择数据库管理器和 JDBC 驱动程序
  2. 单击下一步
  3. 选择数据库管理器下,展开 Cloudscape
  4. Cloudscape 下面,单击 V5.1
  5. 单击数据库位置旁,页面顶部的浏览按钮。

    注意,在此页面上有两个浏览按钮。单击此页面上较高的那个按钮(数据库位置旁)。

  6. 浏览至 EGLWeb 项目中包括的 EGLSAMPC 数据库的位置。它现在位于 <workspace-location>/EGLWeb/WebContent/EGLSAMPC(其中,<workspace-location> 是工作空间的位置)中。
  7. 选择数据库目录下,单击 EGLSAMPC 文件夹。文件夹字段显示 EGLSAMPC
  8. 单击确定

    不需要输入用户名或密码。

    “新建数据库连接”屏幕看起来应如下所示:

    “新建数据库连接”向导

  9. 单击完成。“数据库连接”向导将连接至数据库并返回到“新建 EGL 数据部件”向导。

从数据库检索 Customer 和 Orders 表

现在,“新建 EGL 数据部件”向导显示在选择数据框中的数据库中提供的表。

  1. 选择数据下,单击 CUSTOMER
  2. 单击 向右箭头按钮。将 CUSTOMER 表添加至表名下的数据部件。
  3. 单击 ORDERS,然后再次单击向右箭头按钮。ORDERS 表已添加。

    “新建 EGL 数据部件”窗口看起来应如下所示:

    “新建 EGL 数据部件”向导

  4. 单击完成。“生成信息”对话框将打开。
  5. 在“生成信息”对话框中,单击确定

    许多新文件就位于 EGLWeb 项目的 EGLSource 文件夹中:

编辑库

称为 CustomerLibrary.egl 的库包含访问记录部件中的数据的函数。必须确保正确创建了这些函数并对它们进行了正确的配置以访问数据库中的数据。这些步骤将更正在 CustomerLbrary.egl 文件中您可能会看到的任何错误。

  1. EGLSource 文件夹中打开包。
  2. 双击 CustomerLibrary.egl 文件。
  3. 查找称为 deleteCustomer 的函数。它以函数声明 Function deleteCustomer 开头。
  4. DELETE FROM 开头的那行函数是从数据库中删除行的 SQL 调用。必须正确编写它以正确访问数据库。
  5. DELETE FROM 行替换为此行代码:

    DELETE FROM EGL.CUSTOMER WHERE CUSTOMER.CUSTOMER_ID = :customer.CUSTOMER_ID

    deleteCustomer 函数看起来应如下所示:

    DeleteCustomer 函数

  6. 查找 updateCustomer 函数。它以函数声明 Function updateCustomer 开头。

    此函数具有更长的 SQL 调用,因为它使用表中的每个字段。

  7. 将从 execute sql#{ 行到 sqlStatusData.sqlStatus = 0; 行的所有代码替换为下列代码:

    execute #sql{
    UPDATE EGL.CUSTOMER SET FIRST_NAME = :customer.FIRST_NAME,
    LAST_NAME = :customer.LAST_NAME, PASSWORD = :customer.PASSWORD,
    PHONE = :customer.PHONE, EMAIL_ADDRESS = :customer.EMAIL_ADDRESS,
    STREET = :customer.STREET, APARTMENT = :customer.APARTMENT,
    CITY = :customer.CITY, STATE = :customer.STATE,
    POSTALCODE = :customer.POSTALCODE, DIRECTIONS = :customer.DIRECTIONS
    WHERE CUSTOMER.CUSTOMER_ID = :customer.CUSTOMER_ID
    };
    sqlStatusData.sqlStatus = 0;

    updateCustomer 函数看起来应如下所示:

    UpdateCustomer 函数

  8. 保存文件。
  9. 右键单击 CustomerLibrary.egl 库中的任何地方并从弹出菜单中单击生成。或者,可以按 CTRL+G。

现在,您可以开始练习 5:创建 EGL 库

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.