Sql Oracle APEX 5页面加载时的动态操作事件不起作用。我做错了什么?

Sql Oracle APEX 5页面加载时的动态操作事件不起作用。我做错了什么?,sql,plsql,oracle-apex-5,Sql,Plsql,Oracle Apex 5,该程序的基本目标是检索记录的一些字段,并在apex 5的静态内容区域的文本框中处理和显示这些字段 我的数据库:LCD\U监视器表 接口: 应该在页面加载事件中执行的PLSQL代码 Declare lcd_id LCD_Monitor.LCD__NO%TYPE; tag LCD_Monitor.ASSET_TAG%TYPE; pp LCD_Monitor.PURCHASE_PRICE%TYPE; sal LCD_Monit

该程序的基本目标是检索记录的一些字段,并在apex 5的静态内容区域的文本框中处理和显示这些字段

我的数据库:LCD\U监视器表

接口:

应该在页面加载事件中执行的PLSQL代码

   Declare 

   lcd_id   LCD_Monitor.LCD__NO%TYPE;
   tag        LCD_Monitor.ASSET_TAG%TYPE;
   pp      LCD_Monitor.PURCHASE_PRICE%TYPE;
   sal      LCD_Monitor.SALVAGE%TYPE;
   ls       LCD_Monitor.LIFE_SPAN%TYPE;
   accm  LCD_Monitor.ACCUMULATED_DEP%TYPE;
   netbook Number;
   currDep Number;
   Begin
   select LCD__NO, ASSET_TAG, PURCHASE_PRICE,SALVAGE, LIFE_SPAN,
   ACCUMULATED_DEP into lcd_id, tag, pp, sal, ls, accm from LCD_MONITOR 
   where LCD__No='40';

   :LCD_NO:=lcd_id;
   :CURR_DEP:= (pp-sal)*(1/ls);
   :TOT_DEP:= (pp-sal)*(1/ls)+accm;
   :NBV:=pp-(pp-sal)*(1/ls)+accm;

   End;
PS:我已经将值返回到属性中“受影响元素”部分的文本框中


但加载页面时,文本框中不会显示任何值。任何帮助都将不胜感激。

我不确定我是否正确理解了你到底在做什么。如果您只需要用数据填充项目,请创建一个before header进程(在页面设计器模式下,它处于
Pre-rendering
->
before header
。在那里编写代码就足够了

如果您想在动态操作中执行此操作(我不推荐这种方式),您需要创建一个带有
事件
-
页面加载
的动态动作,该动作将包含一个具有以下属性的真实动作:
动作
-
执行PL/SQL代码
PL/SQL代码
-您的代码和
要返回的项目
-
LCD\u NO,CURR\u DEP,TOT\u DEP,NBV


但请确保您的项目确实有这样的名称,因为默认情况下,APEX创建的项目名称类似于
P10\u LCD\u NO
,其中
10
(例如)是页面的数字。

我没有直接为textfields项分配计算值,而是先将它们分配给变量,然后将变量分配给项,即

以前

   :CURR_DEP:= (pp-sal)*(1/ls);
   :TOT_DEP:= (pp-sal)*(1/ls)+accm;
   :NBV:=pp-(pp-sal)*(1/ls)+accm;
纠正

    currDep:= (pp-sal)*(1/ls);
    :CURR_DEP:= currDep;
    tot:= (pp-sal)*(1/ls)+accm;
    :TOT_DEP:=tot;
    netbook:=pp-((pp-sal)*(1/ls)+accm);
    :NBV:=netbook;

不确定它的
LCD\uuuu No
LCD\uu No
。检查是否还有一个额外的
\uuu
是,它的LCD\uu No(双下划线)是什么类型的动态操作?用户是否需要将任何数据发送到服务器进行计算?这是一个页面加载事件,关于数据:否,它是从数据库(LCD\u监视器表)检索的您的真实操作类型是什么?类型为
Execute PL/SQL code
的真实操作没有属性
受影响的元素
受影响的元素
是类型为
Execute JavaScript code
的操作的属性。显然,这不是您需要的。不,实际上我打算从purc计算折旧将价格(表格记录)显示在LCD上,然后将其显示在页面项目(文本框)上。是的,我已经用与动态操作相同的方式进行了操作,但它不显示任何值