< 上一课 | 下一课 >

第 4 课:创建用于访问数据库的部件

在本课中,您将创建允许您访问样本数据库的数据部件和逻辑部件。
“EGL 数据访问应用程序”向导会创建访问数据库所需的 EGL 代码。尽管可在向导运行时定制代码,但通常向导会创建以下 EGL 部件:

通过数据库连接创建部件

在上一课中,您创建了与数据库的连接。通过该连接,EGL 可创建访问数据库所需的部件:

  1. 单击文件 > 新建 > 其他 “新建”窗口将打开。
  2. 展开 EGL 并单击数据访问应用程序
  3. 单击下一步
  4. 在“定义项目设置”窗口中,请确保 EGLWeb 显示在项目名称列表中。
  5. 数据库连接列表中,选择您在上一课中创建的 EGLDerbyDB 连接。 系统可能会提示您输入数据库的用户标识和密码。如果系统提示,请输入任意名称和密码;数据库不需要密码,但工作台数据工具可能需要密码。 您已建立与数据库的连接。数据库中的所有表都将列示在向导底部的表名下。因为某些表仅包含元数据,所以您将不会为所有这些表创建数据部件。
  6. 选择表下,仅选中下列表旁边的复选框:
    • EGL.CUSTOMER
    • EGL.ITEM
    • EGL.ORDERITEM
    • EGL.ORDERS
    • EGL.SITEUSER
    • EGL.STATETABLE
    “EGL 数据访问应用程序”向导如下所示:
    已选中 6 个表的“EGL 数据访问应用程序”窗口的图片
  7. 请确保已取消选中创建 Web 页面复选框。 如果已选中此复选框,那么 EGL 会直接通过数据库表创建 Web 页面。此功能通过创建简单 Web 数据访问应用程序节省了时间,但这样做与本教程的目的不符。
    注: 不要单击“完成”。您必须再更改此向导中的一个设置。
  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。例如,给予数据库中每个客户记录的客户标识号由名为 CUSTOMER_ID 的 DataItem 表示:
dataitem CustomerId INT end
在此情况下,“标识号”字段以整数基本类型为基础。DataItem 可具有其他属性,以指定其有效值范围及其在 UI 中的格式之类的详细信息。
eglderbydb.data.Customer.egl
此文件包含根据数据库表创建的其中一个记录,在此情况下为 Customer 表。此记录包含一些字段,这些字段包含有关客户的信息,如客户机的名字、姓氏、地址、电话号码和标识号。记录定义如下所示:
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,它会将新客户记录添加至数据库。此库中还有其他函数,用于在数据库中检索、更新和删除记录,并且每个表在另一个库中有相似的函数。您将在教程中的稍后位置使用这些函数。
< 上一课 | 下一课 >

反馈