问题描述
我正在尝试在预渲染页面过程中使用以下 sql 查询将数据插入到只读表单中: 开始
select s.ID,s.SPID,s.PHONE_NUMBER
INTO :P9_ID,:P9_SPID,:P9_PHONE_NUMBER
FROM TABLE1 s
left outer join TABLE2 f on f.ID=s.ID
where f.ID=:P9_TBL2_ID;
end;
但是,尽管页面元素具有显式值(此处为数字 5),但在使用 where 子句时,我总是收到错误 no data found 。
将 where 子句修改为:
where f.ID=5;
我将正确的数据插入到只读表单中。
一般的问题是,如何将数据从表格加载到表单中?
解决方法
虽然页面元素有一个明确的值(这里是数字 5)。
:P9_TBL2_ID
项是如何获得其价值的?仅仅在屏幕上看到它是不够的 - 它必须被置于会话状态。我们通常通过提交页面来完成。
但是,由于这是一个预渲染过程,您必须以某种方式进入该页面 - 我推测是从其他页面。通常的做法是按下一个按钮,重定向到另一个页面。它的属性允许您使用一些值(在您的情况下为 P9
)在目标页面(在您的情况下为 5
)设置项目。那么,你这样做了吗?如果是这样,它应该正常工作。