Oracle Apex:Shuttle 没有将价值放在右侧并提供 null
Posted
技术标签:
【中文标题】Oracle Apex:Shuttle 没有将价值放在右侧并提供 null【英文标题】:Oracle Apex: Shuttle doesn't put value on the right side and provide null 【发布时间】:2017-04-22 00:02:08 【问题描述】:我已将 LOV 放在左侧,但是当我选择其中一些并单击创建时,它告诉我穿梭必须有一些价值,我搜索了很多解决这个问题但我找不到,它是工作得很好,但现在不行了。
这是显示穿梭机细节的图片。
这是过程
declare
tab apex_application_global.vc_arr2;
begin
tab := apex_util.string_to_table (:P2_RC);
for i in 1..tab.count loop
insert into STR_RC(STRID, RCID)
values
(:HIDDEN_STR_1, tab(i) );
end loop;
end;
HIDDEN_STR_1 是另一个表的 ID 号。
当我按下 creat 时,我想在其中插入 STR_RC 数据的表没有任何反应,当我将过程更改为此代码并将验证更改为否时,它会在两列中插入空值,所以请帮忙.
BEGIN
INSERT INTO STR_RC(STRID,RCID)
VALUES (:HIDDEN_STR_1 ,:P2_RC);
END;
【问题讨论】:
【参考方案1】:请注意,在您的第一张图片中,您将项目“始终需要”属性设置为“是”。这意味着,如果您的返回值为 null,则 apex 将阻止后续进程执行。
选项 1:将始终“必需的属性”设置为“否”。 选项 2:确保您的 lov 不返回 null。
【讨论】:
我把它关掉了,检查了LOV中选择的数据,没有返回null,两列都有值,一个有名称,返回一个数字。 HIDDEN_STR_1 不为空,它作为空值插入,我不知道为什么,我正在检查我的 SQL 代码,但没有任何改变,我从相同的代码中获取数据。我必须在班车来源中填写选项吗?或者 null 可以吗? @Alsqr 您能否像发布 P2_RC 的图片一样发布 hidden_str_1 项目的图片? 它只是一个普通的隐藏按钮,我尝试选择列表或列表管理器,同样的问题,该过程没有得到值【参考方案2】:我找到了答案,问题不在于我的穿梭机,问题在于流程的顺序。
我已经重置了清除会话的进程,并在我的航天飞机所依赖的进程之前拥有它,所以我一直都是空的。
【讨论】:
我明白了,感谢您分享部分解决方案。但是,这并不能解释为什么您在航天飞机上收到验证错误(指示返回值为空的错误)。 你说得对,但我现在没有收到错误,我将其切换为是并且没有错误。也许我在 sql 查询中有错误的代码?但现在所有问题都解决了 我找到了你问题的答案,我的创建按钮在穿梭之前,所以当我点击创建时,它会清除所有会话,所以它会要求一个值,因为创建按钮清除了所有值表格。 所以我犯了两个错误,一个是进程错误,一个是创建按钮以上是关于Oracle Apex:Shuttle 没有将价值放在右侧并提供 null的主要内容,如果未能解决你的问题,请参考以下文章
Oracle APEX - 将 Shuttle Item 选择保存到新表