OBE 主页 > 数据库 10 g > 单实例 > 应用程序开发 > HTML DB > 日历

使用 Oracle HTML DB 构建日历

目的

本教程介绍如何使用 Oracle HTML DB 构建日历页面。此日历将包含一个指向显示详细信息的报表的链接。

所需时间

大约 30 分钟

主题

本教程将讨论下列主题:

 概述
 前提条件
 构建和查看数据库对象
 加载数据

创建应用程序

 构建报表
 构建日历
 运行日历应用程序
 总结

查看屏幕截图

 将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以根据 Internet 连接的不同,响应时间可能会比较慢。)

注意:此外,还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

什么是 HTML DB?

HTML DB 为创建以数据库为中心的 Web 应用程序提供了一个声明式开发框架。使用在线服务完成开发。通过下载一个运行时模块和应用程序并将该应用程序运行在您的企业内部来完成部署。

HTML DB 由哪些组件组成?

HTML DB 包含三个主要的组件。您将在本教程中用到全部三个组件。

Application Builder

使用 Application Builder,您可以构建以数据库为中心的交互式 Web 应用程序。

SQL Workshop SQL Workshop 使您可以运行 SQL 语句和 SQL 脚本。
Data Workshop 使用 Data Workshop,您可以将数据加载到数据库中以及从数据库中提取数据。

术语

在使用 HTML DB 时,了解下面这些概念很重要:

应用程序

应用程序是一个通过分支连接的页面的集合。其属性包括身份验证方法、默认的 UI 模板、以及授权规则。

页面 页面是通过其生成、显示以及处理方式来定义。处理是指提交页面时所发生的事件和逻辑。每个页面在运行时由应用程序开发人员定义的元数据动态生成。页面的外观由页面模板控制。
区域 内容显示在多个区域中,这些区域是页面的逻辑子部分。每个页面可以包含任意数量的数种类型的区域。这些类型包括:HTML 文本、SQL 查询、PL/SQL 生成的 HTML 和图表。每个区域均使用区域模板生成,并由页面模板中定义的显示点来确定在页上的位置。
项目 应用程序项目用于生成 HTML 表单元素。应用程序引擎管理 PL/SQL 生成的 HTML,而作为开发人员的您只需选择项目类型即可。应用程序支持支持 50 个以上这样的类型,包括日期选择器、弹出式值列表、具有拼写检查功能的文本区域等。项目的值自动存储到应用程序的会话状态中,可以在用户会话的任何地方引用该值。

本教程内容

在本教程中,您将使用内置的向导来生成日历。一旦指定了日历所基于的表,就可以创建指向存储在特定列中的信息的下钻链接了。

Oracle HTML DB 支持两种日历类型:

 简易日历:基于您指定的模式、表和列创建日历。向导提示您选择一个日期列和显示列。
 SQL 日历:基于您提供的 SQL 查询创建日历。您提供的 SQL SELECT 语句必须至少包含两列,一个日期列和一个显示列。您在本教程中创建的日历应用程序即为此类型。

日期列确定日历上的哪些日期将包含条目。显示列定义一个将显示日历日期的特定行。

对于本教程,您将创建 3 个表:

项目 该表将跟踪所有当前项目。
用户 该表将包含有关可以指派谁来处理问题的信息。
问题 该表将保存有关某个问题的所有信息,包括与该问题相关的项目以及被指派纠正该问题的人。

以下是一个显示这三个表之间相互关系的简单实体关系图 (ERD)。

还将需要其他数据库对象(如序列和触发器)来支持这些表。系统生成的主键将用于所有表,以便无需实施级联更新就可以编辑所有数据。

前提条件

开始学习本教程之前,您应已经:

1.

完成了 安装并配置 Oracle HTML DB 1.6 教程,或可以使用已经安装的 HTML DB 1.6 安装。

 

2.

htmldbcal.zip 下载并解压缩到您的工作目录中。

 

 

返回主题列表

构建和查看数据库对象

可以通过多种方法使用 Oracle HTML DB 创建对象。它们是 SQL Workshop 的全部功能:

1. 使用主 SQL Workshop 页面中的 Create Object。此功能包含完成创建选定对象类型所必需的所有选择。
2. 使用主 SQL Workshop 页面中的 SQL Command Processor。它运行您键入或粘贴的命令。此处理器一次只能处理一个命令。
3. 使用主 SQL Workshop 页面中的 Scripts 上载脚本。此脚本将包含创建对象的语句。脚本上载后即可运行它。
4. 在线创建脚本。这样,只需几次单击操作便可创建所有对象,而无需先将文件保存到硬盘驱动器上。您将在本文中使用该方法。

要创建此日历应用程序所必需的对象,请执行下列步骤:

1.

输入以下 URL 登录到 HTML DB。

http://<<i>主机名>: /pls/htmldb/htmldb

 

2.

要登录到 HTML DB,请输入下列详细信息,然后单击 Login

Workspace: obe
Username: obe
Password: obe

将鼠标移到该图标上可以查看该图像

 

3.

要创建该应用程序将基于的表,单击 SQL Workshop

将鼠标移到该图标上可以查看该图像

 

4.

在 SQL Scripts 下,单击 Scripts

                                                                 将鼠标移到该图标上可以查看该图像                               
                            

 

5.

单击 Create

将鼠标移到该图标上可以查看该图像

 

6.

为 Name 输入 DDL for Calendar,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

7.

将位于工作目录中的 calddl.sql 文件中的 SQL 复制并粘贴到 Script 域。然后,单击 Create Script

将鼠标移到该图标上可以查看该图像

 

8.

此时就创建好了脚本。单击 Run

将鼠标移到该图标上可以查看该图像

 

9.

确保为 Parse As 选择了 OBE,然后单击 Run Script

将鼠标移到该图标上可以查看该图像

 

10.

执行您的脚本后即显示 Summary Statistics 页面。您应看到有 52 个成功信息,并且没有错误。现在,您可以查看创建的对象了。单击 SQL Workshop

将鼠标移到该图标上可以查看该图像

 

11.

在 Database Browser 下,单击 Tables

将鼠标移到该图标上可以查看该图像

 

12.

从 Schemas 列表中选择 OBE

将鼠标移到该图标上可以查看该图像

 

13.

要查看对象的详细信息,单击 HT_PEOPLE 表旁的放大镜 (  ) 图标。

将鼠标移到该图标上可以查看该图像

 

14.

即显示该表的详细信息。现在,您可以将数据加载到刚刚创建的对象中。单击 Data Workshop 选项卡。

将鼠标移到该图标上可以查看该图像

 

返回主题列表

加载数据

要正确查看您将创建的应用程序,需要把数据加载到表中。可以通过 Oracle 导入手动加载数据或使用 Oracle HTML DB Data Workshop 或 SQL Workshop 加载数据。您将使用 Data Workshop 和 SQL Workshop 加载数据。

注意:如果查看 DDL,则将注意到用于主键的序列设置为从 40 开始,这样做是为了为数据留出空间。我们对 before insert 触发器采用了这样的编码 — 仅当在未提供主键的情况下访问序列。这样,在加载数据时将不需要禁用它们。

您需要执行下列任务:

 加载项目数据
 更新项目日期
 加载用户数据
 加载问题数据

返回主题列表

加载项目数据

将使用 Data Workshop 加载项目数据。可以导入文本数据、xml 数据或电子表格数据。您将使用 load_projects.txt 文件中包含的项目数据导入文本数据。执行以下步骤:

1.

从 Data Workshop 选项卡中的 Data Import 下,单击 Import Text Data

将鼠标移到该图标上可以查看该图像

 

2.

导入到 Existing Table 并从 Copy and Paste 导入,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

3.

确保选中 OBE 模式,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

4.

单击此图标搜索表。

将鼠标移到该图标上可以查看该图像

 

5.

选择 HT_PROJECTS (table)

将鼠标移到该图标上可以查看该图像

 

6.

单击 Next

将鼠标移到该图标上可以查看该图像

 

7.

将位于工作目录中的 load_projects.txt 文件中的文本复制并粘贴到 Data 域中。然后单击 Next

将鼠标移到该图标上可以查看该图像

 

8.

单击 Import Data

将鼠标移到该图标上可以查看该图像

 

9.

HT_PROJECTS 表现在包含数据了。您应看到 5 个记录成功,并且没有记录失败。单击 SQL Workshop 选项卡。

将鼠标移到该图标上可以查看该图像

 

返回到主题

更新项目日期

已经创建了项目,但需要更新日期以使项目处于当前状态。为此,您将创建一个脚本并运行它。执行以下步骤:

1.

在 SQL Scripts 下,单击 Scripts

将鼠标移到该图标上可以查看该图像

 

2.

单击 Create

将鼠标移到该图标上可以查看该图像

 

3.

为 Script Name 输入 Update Project Dates,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

4.

将位于工作目录中的 update_project_dates.sql 文件中的文本复制并粘贴到 Script 域中。然后,单击 Create Script

将鼠标移到该图标上可以查看该图像

 

5.

此时就创建好了脚本。单击 Run

将鼠标移到该图标上可以查看该图像

 

6.

确保为 Parse As 选择了 OBE,然后单击 Run Script

将鼠标移到该图标上可以查看该图像

 

7.

执行您的脚本后即显示 Summary Statistics 窗口。您应看到有 4 个成功信息,并且没有错误。现在,您可以加载用户数据了。单击 Script Repository

将鼠标移到该图标上可以查看该图像

 

返回到主题

加载用户数据

您将通过创建脚本并运行它来加载用户数据。您将使用 load_people.sql 文件中包含的用户数据导入文本数据。执行以下步骤:

1.

单击 Create

将鼠标移到该图标上可以查看该图像

 

2.

为 Name 输入 Load People Data,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

3.

将位于工作目录中的 load_people.sql 文件中的文本复制并粘贴到 Script 域中。然后,单击 Create Script

将鼠标移到该图标上可以查看该图像

 

4.

此时就创建好了脚本。单击 Run

将鼠标移到该图标上可以查看该图像

 

5.

确保为 Parse As 选择了 OBE,然后单击 Run Script

将鼠标移到该图标上可以查看该图像

 

6.

执行您的脚本后即显示 Summary Statistics 窗口。您应看到有许多成功信息,并且没有错误。现在,您可以加载问题数据了。单击 Script Repository

将鼠标移到该图标上可以查看该图像

 

返回到主题

加载问题数据

您将通过创建脚本并运行它来加载问题数据。您将使用 load_issues.sql 文件中包含的问题数据导入文本数据。执行以下步骤:

1.

单击 Create

将鼠标移到该图标上可以查看该图像

 

2.

为 Name 输入 Load Issues Data,然后单击 Next

将鼠标移到该图标上可以查看该图像

 

3.

将位于工作目录中的 load_issues.sql 文件中的文本复制并粘贴到 Script 域中。然后,单击 Create Script

将鼠标移到该图标上可以查看该图像

 

4.

此时就创建好了脚本。单击 Run

将鼠标移到该图标上可以查看该图像

 

5.

确保为 Parse As 选择了 OBE,然后单击 Run Script

将鼠标移到该图标上可以查看该图像

 

6.

执行您的脚本后即显示 Summary Statistics 窗口。您应看到有许多成功信息,并且没有错误。现在,您就可以创建应用程序了。单击 Workspace OBE

将鼠标移到该图标上可以查看该图像

 

返回到主题

创建应用程序

至此,您已经创建了支持应用程序的对象并加载了数据,接下来便可以创建用户界面了。使用 Application Builder 将创建应用程序,然后将创建一个页面以在日历上显示项目任务。

您可以使用 Create Application Wizard 快速设置为默认基于某个模式内的选定表创建报表和为这些表创建数据。或者,可以创建应用程序定义,然后根据需要添加页面。本文将使用后一种方法。执行以下步骤:

1.

在 HTML DB 主页上,单击 Create Application >

将鼠标移到该图标上可以查看该图像

 

2.

由于您将从头创建应用程序,因此保留 Creation Method 的缺省值 From Scratch,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

3.

为 Name 输入 Calendar Application。要指定应用程序将包含一个页面,请从 Pages 下拉列表中选择 1。单击 Next >

将鼠标移到该图标上可以查看该图像

 

4.

单击 No Tabs,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

5.

为 Page Name 输入 Calendar,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

6.

选择 Theme 10,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

7.

单击 Create Application

将鼠标移到该图标上可以查看该图像

 

8.

此时就创建好了您的应用程序。您可以观看应用程序主题的预览。单击 Run

将鼠标移到该图标上可以查看该图像

 

9.

为用户名和口令分别输入 obe,然后单击 Login

将鼠标移到该图标上可以查看该图像

 

10.

您将看到 Default Home Page。

将鼠标移到该图标上可以查看该图像

尽管此页面没有内容,但创建了下列项目:

导航链接 屏幕右上角有两个导航栏条目。通过它们,用户能够 打印当前页面以及 注销
开发人员链接

页面底部是开发人员链接。它们之所以显示是因为登录的用户还是一位应用程序开发人员。常规用户(即那些只被授予应用程序运行权限的用户)将看不到这些链接。从左至右,您可以:

Edit Application 编辑应用程序
Edit Page 1 编辑正在运行的页面
New 向当前页面中添加一个新组件
Session 打开一个包含会话详细信息的新页面
Debug 在调试模式下显示页面
Show Edit Links 显示页面上每个可以编辑的对象旁边的快速链接。该链接将显示在 NavBar 项目、选项卡、区域标题、按钮和项目的右侧。单击该链接将弹出一个对象编辑窗口。

 

登录页面

这是用于登录到应用程序的页面。

 

模板

在新应用程序中创建的符合选定 UI 主题的一组基本模板。

 

身份验证方案

创建了两个身份验证方案。默认情况下使用内部帐户证书,但还是创建了数据库身份验证方案。

 

 

返回主题列表

构建报表

至此,已经创建了应用程序结构,接下来便可以添加内容了。您可以从日历开始,但由于日历将链接到一个显示所选问题的所有详细信息的报表,因此您将从报表开始。执行下列任务:

 创建报表页面
 创建查询引用项目
 创建 Cancel 按钮

返回主题列表

创建报表页面

1.

单击位于页面底部的开发人员链接区域中的 Edit Application

将鼠标移到该图标上可以查看该图像

 

2.

将显示 Application Builder 主页,您的新应用程序在其中处于选中状态。单击 Create Page >

将鼠标移到该图标上可以查看该图像

 

3.

选择 Page with Component 选项,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

4.

要指定将要添加到页面的组件,请选择 Report 选项。单击 Next >

将鼠标移到该图标上可以查看该图像

 

5.

选择 SQL Report 选项,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

6.

为 Page 输入 2,并为 Page Name 输入 Issue Details。然后,单击 Next >

将鼠标移到该图标上可以查看该图像

 

7.

选择 Do not use tabs,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

8.

将位于工作目录中的 issue_details_rpt.sql 文件中的文本复制并粘贴到 SQL SELECT 区域中。然后,单击 Next >

将鼠标移到该图标上可以查看该图像

 

9. 确保将 Region Template 设置为 Reports Region,并将 Report Template 设置为 default:vertical report, look 1 (include null columns)。为 Region Name 输入 View Issue,然后单击 Next>

将鼠标移到该图标上可以查看该图像

 

10.

复查您的选择,然后单击 Finish

将鼠标移到该图标上可以查看该图像

 

11.

已成功创建报表页面。

将鼠标移到该图标上可以查看该图像

 

返回到主题

创建查询引用项目

要链接到此报表,需要创建查询所引用的项目。

1.

单击 Edit Page

将鼠标移到该图标上可以查看该图像

 

2.

在 Items 组下,单击 Create 图标 (  )。

将鼠标移到该图标上可以查看该图像

 

3.

为 Item Type 选择 Hidden,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

4.

为 Item Name 输入 P2_ISSUE_ID,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

5.

调用页面时将设置项目值,因此此页面上没有任何要指定的内容。单击 Create Item

将鼠标移到该图标上可以查看该图像

 

6.

即创建了项目。

将鼠标移到该图标上可以查看该图像

 

返回到主题

创建 Cancel 按钮

您需要创建一个将用户返回到日历的按钮或调用页面。

1.

在 Buttons 组下,单击 Create 图标 (  )。

将鼠标移到该图标上可以查看该图像

 

2.

选择 View Issue,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

3.

确保选择了 Create a button in a region position,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

4.

为 Button Name 输入 CANCEL。这将自动显示为 Button Label。确保为 Button Type 选择了 Template Driven,并为 Action 选择了 Redirect to URL without submitting page。由于此页面仅供查看之用,因此这样做是可以的。由于提交页面不会引发任何进程,因此提交没有必要。然后,单击 Next >

将鼠标移到该图标上可以查看该图像

 

5.

确保为 Button Template 选择了 Button,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

6.

为 Position 选择 Region Template Position #CLOSE#,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

7.

为 Page 输入 1。这将把用户重定向到 Calendar 页面。为 Clear Cache 输入 2。每当用户单击 Cancel 按钮时,都将清除第 2 页上的值。这将防止用户从日历之外访问该页面并查看上一个问题。然后,单击 Create Button

将鼠标移到该图标上可以查看该图像

 

8.

即创建了按钮。由于本教程是介绍如何创建日历而不是介绍如何自定义报表,因此您将保留报表的默认状态,但对于实际的应用程序来说,您需要编辑 Report Attributes 以改进列标题。

将鼠标移到该图标上可以查看该图像

 

返回到主题

构建日历

您创建的日历将称作 Target Resolution Dates。它将根据对应于它的目标解决日期显示每个尚未解决的问题,以及此问题指派给的用户和它所属的项目。执行下列任务:

 创建日历页面
 创建指向报表页面的链接

返回主题列表

创建日历页面

1.

为 Page 输入 1,然后单击 Go

将鼠标移到该图标上可以查看该图像

 

2.

在 Regions 组下,单击 Create 图标 (  )。

将鼠标移到该图标上可以查看该图像

 

3.

为 Region Type 选择 Calendar,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

4.

选择 SQL Calendar ,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

5.

为 Title 输入 Target Resolution Dates,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

6.

将位于工作目录中的 target_resolution.sql 文件中的文本复制并粘贴到 SQL Query 域中,然后单击 Next >

将鼠标移到该图标上可以查看该图像

 

7.

为 Date Column 选择 TARGET_RESOLUTION_DATE,并为 Display Column 选择 DISP。然后,单击 Create Region

将鼠标移到该图标上可以查看该图像

 

8.

已成功创建日历页面。

将鼠标移到该图标上可以查看该图像

 

返回到主题

创建指向报表页面的链接

1.

在 Regions 组中,选择 Target Resolution Dates 左侧的 CAL

将鼠标移到该图标上可以查看该图像

 

2.

单击 Column Link

将鼠标移到该图标上可以查看该图像

 

3.

为 Page 输入 2,为 Clear Cache 输入 2,为 Set these Items 输入 P2_ISSUE_ID,并为 With these values 输入 #ISSUE_ID#。然后,单击 Go To Top 图标 (  )。

将鼠标移到该图标上可以查看该图像

 

4.

单击 Region Definition 选项卡。

将鼠标移到该图标上可以查看该图像

 

5.

单击 Header and Footer

将鼠标移到该图标上可以查看该图像

 

6.

为 Region Header 输入 This excludes Closed issues.,然后单击 Go To Top 图标 (  )。

将鼠标移到该图标上可以查看该图像

 

7.

单击 Apply Changes

将鼠标移到该图标上可以查看该图像

 

8.

即更新了该区域。

将鼠标移到该图标上可以查看该图像

 

返回到主题

运行日历应用程序

您现在可以运行此应用程序,以查看已经创建的日历应用程序和报表。执行以下步骤:

1.

单击应用程序窗口右上角中的 Run 图标。

将鼠标移到该图标上可以查看该图像

 

2.

将显示您的日历。可以使用按钮导航到 Previous Month 或 Next Month。Today 按钮将您转到当前月份。单击针为问题显示的任何文本。

将鼠标移到该图标上可以查看该图像

 

3.

将显示包含详细信息的 View Issue 页面。可以单击 Cancel 返回到日历。

将鼠标移到该图标上可以查看该图像

 

返回主题列表

总结

在本课程中,您学习了如何:

 构建数据库对象
 使用脚本加载数据

构建查看详细报表的日历

返回主题列表

 将光标置于该图标上,以隐藏所有屏幕截图。

 

Left Curve
热门下载
Right Curve
Left Curve
更多融合中间件下载
Right Curve