APEX使用心得

来源:互联网 发布:三表联合查询sql语句 编辑:程序博客网 时间:2024/06/05 18:51

apex:application express

是一个针对 Oracle 数据库的 Web 应用程序快速开发工具。oracle官方提供了一个免费的试用平台https://apex.oracle.com/i/index.html,可以创建自己的workspace。目前国内EBS项目很少用到。

进入自己的workspace后,可以创建自己的application。

点击application builder

->点击create,


就本人第一次创建的经历来说,Application Type选择Database,->next->From Scratch->next 

输入自己Application的名字 ->next,根据自己的需求选择page页的类型,本例选择Blank, 继续->add page,->next,选择标签栏类型,本例选择One Level of Tabs,->next,选择页面组件,可以copy 之前application的组件选择。本例选择NO,->next->Application Express->next,选择页面主题,可以根据之前选择的TAB来选择适合的页面主题。本例选择20,next->create

至此,第一个Application 就创建完毕了。

首先对自己的页面特性进行编辑,点击Edit Application Properties



可以在LOGO标签中编辑展示在页面头的LOGO文字和样式。

双击之前添加的PAGE页进行编辑。本例创建一个form with a report。

首先可以根据需求在Region中创建一些需要的组件,方法为:右键Region,点create,选择组件类型,本例选择HTML页面组件。next,选择HTML,next,Title为HTML页面标题。其他一些变量都可以选择default值,创建完毕后可以根据需求再进行修改。创建完HTML组件后,就可以往里面添加HTML的相关组件了,例如一些变量,或者Button , Label , radio 等以及一些javascript代码作为action。create page item。

先添加一个Popup list of values (本组件中还包含颜色选择器)。



选择Popup LOV。

简单的步骤就不再赘述,一路next,直到List of Values Query项。这里写入SQL语句,返回的结果为Popup LOV的可选值集。

select ename d,      enum rfrom   emporder by 1

d 的那一列为展示值, r 的那一列为实际值。(LOV 必须要两个select 值作为返回,一个作为展示值,一个作为实际值)

还有一个值得注意的地方,APEX里所有的SQL语句句末都不需要加 ; 而PL/SQL块则需要在块末添加 ;

这里吐槽一下APEX的error message,完全不区分错误类型,只要你的SQL语句有问题,它只会返回同一个ERROR MESSAGE,导致我开始时总以为我的select值数量错误或者列名有误,最终原因是在表名前缺少所有者。实际错误应该是 table or view not exists。 

LOV添加完之后,我们继续添加一个FORM组件,方法与上述步骤一样,FORM的类型选择 Form on a Table with Report ,选择自己的form 和 report表所需要的表名,列名。

这里需要注意地方有:

1.FORM的存在页面和REPORT的存在页面可以不同。例如可以把REPORT放在第一页,FORM放在第二页,这样就可以EDIT report的时候在第二页跳出form,而不需要在同一个页面中。将form和report放在两个页面的用户体验明显高于放在同一页面。

2.可以在report的SQL语句中添加where条件。引用参数的方法为 = :参数名,假设刚才添加的LOV的组件名为 P1_SEARCH_NUM(P1意为在第一页的item,普遍的命名规则),则引用参数的方法如下:

select ename,      enumfrom   empwhere  enum = :P1_SEARCH_NUM

3.REPORT列的顺序可以任意更改,点击action,select column ,选择列的顺序和是否显示。选择完毕后,可以再次点击action,点击save report,save as default(保存为默认值) 。FORM列的顺序可以通过拖动item项来改变。

再次注意SQL语句句末没有分号,添加分号可能导致错误。

如此,我们就可以根据之前的LOV,动态的选择report表的内容。

组件添加完之后,在Page Processing里的Processing添加process作为业务逻辑。在本人理解中,process就相当于JAVA SCRIPT里的action。process可以为PL/SQL代码块。其中Conditions项即为可选的组件的submit动作。添加完成后,一个拥有简单业务逻辑的APEX就开发完毕了。最后导出SQL语句,选择


->export application 。

0 0
原创粉丝点击