< 上一個課程 | 下一個課程 >

第 4 課:建立組件以存取資料庫

在本課程中,您將建立容許您存取資料庫範例的資料和邏輯組件。
「EGL 資料存取應用程式」精靈會建立存取資料庫所需的 EGL 程式碼。雖然您可以在該精靈執行時自訂程式碼,但是該精靈通常建立下列 EGL 組件:

從資料庫連線建立組件

在上一課程中,您建立了與資料庫的連線。 從該連線中,EGL 可以建立存取資料庫所需的組件:

  1. 按一下檔案 > 新建 > 其他 這時會開啟「新建」視窗。
  2. 展開 EGL 並按一下資料存取應用程式
  3. 下一步
  4. 定義專案設定視窗中,請確定 EGLWeb 顯示在專案名稱清單中。
  5. 資料庫連線清單中,選取您在上一課程中建立的 EGLDerbyDB 連線。 系統可能會提示您輸入資料庫的「使用者 ID」和密碼。如果有提示,請輸入任何名稱和密碼;資料庫不需要密碼,但工作台資料工具可能需要密碼。 您已建立了與資料庫的連線。資料庫中的所有表格都列在精靈底端的表格名稱下面。您不需要為所有這些表格都建立資料組件,因為某些表格只包含 meta 資料。
  6. 選取表格下面,只選取下列表格旁邊的勾選框:
    • EGL.CUSTOMER
    • EGL.ITEM
    • EGL.ORDERITEM
    • EGL.ORDERS
    • EGL.SITEUSER
    • EGL.STATETABLE
    「EGL 資料存取應用程式」精靈與此圖片相似:
    已選取 6 個表格之「EGL 資料存取應用程式」視窗的圖片
  7. 確保已清除建立網頁勾選框。 如果選取此勾選框,則 EGL 會直接從資料庫表格建立網頁。此功能可透過建立簡式 Web 資料存取應用程式來節省時間,但這將與這個指導教學的目的背道而馳。
    註: 現在,請勿按「完成」。您還必須變更此精靈中的另一個設定。
  8. 下一步以移至定義欄位頁面。 此頁面可讓您新增索引鍵欄位至資料庫表格。請勿變更此頁面上的任何設定;資料庫在每一個表格中已具有一個索引鍵欄位。
  9. 再次按下一步以移至定義專案建立選項頁面。
  10. 在「定義專案建立選項」頁面上,選取使用綱目定義表格名稱勾選框。
  11. 按一下完成

課程檢查點

「資料存取應用程式」精靈已在 EGLWeb 專案中建立了數個 EGL 構件。

首先,在 EGLWeb 專案的 EGLSource 資料夾中有數個新的 EGL 套件,其中包括 eglderbydb.dataeglderbydb.accesseglderbydb.primitivetypes.data。套件的運作與資料夾相似:它們包含原始碼檔案,並將這些檔案組織成有意義的群組。在此情況下,eglderbydb.data 套件保留記錄,eglderbydb.access 套件保留程式庫,eglderbydb.primitivetypes.data 套件保留「資料項目」。

以下是一些針對這個指導教學有用的檔案:
eglderbydb.primitivetypes.data.DataDefinitions.egl
此檔案會列出構成其他檔案中「記錄」組件的所有「資料項目」。例如,提供給資料庫中每一個客戶記錄的客戶 ID 號碼,是以名為 CUSTOMER_ID 的「資料項目」來表示:
dataitem CustomerId INT end
在此情況下,ID 號碼欄位基於整數初始類型。 「資料項目」可以具有其他內容,以指定詳細資料,例如其值的有效範圍和應該如何在使用者介面中將其格式化。
eglderbydb.data.Customer.egl
此檔案包含從資料庫表格建立的其中一個記錄,在此情況下為「客戶」表格。此記錄包含用於保留客戶相關資訊的欄位,例如客戶的名字、姓氏、地址、電話號碼以及 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
此檔案包含自動產生的函數庫,可供您用於存取資料庫的「客戶」表格。例如,第一個函數是 AddCustomer,該函數會新增客戶記錄至資料庫。此程式庫中有其他函數,用於擷取、更新和刪除資料庫中的記錄,並且每一個表格在單獨的程式庫中有類似的函數。您將在稍後的指導教學中使用這些函數。
< 上一個課程 | 下一個課程 >

意見