plsql - Oracle APEX 在尝试获取表格形式的禁用字段的值时给出错误“未找到数据”
问题描述
我正在尝试使用来自 oracle apex 进程的更新查询来更新表。为此,我需要从表格形式中获取一个值。但是该字段当前被禁用(不可编辑,值仍然存在),在这里我收到错误“ORA-01403:未找到数据”。如果我启用了该字段,那么问题就会出现(但该字段将是可编辑的,我不想使该字段可编辑)。
该数据(禁用的数据)已经保存在表中(在该字段被禁用之前)。现在我已经编写了一个绕过该错误的条件(例如。IF APEX_APPLICATION.G_F03(i) IS NOT NULL THEN)。但是我仍然遇到同样的错误(如上所述)。
因此,如下面的代码所示'因为 apex_application.g_f03(i) 被禁用,它给了我错误'ORA-01403: no data found',而 apex_application.g_f04(i) 没有给我任何错误。如果我启用了 apex_application.g_f03(i) 字段,那么错误就会消失。
FOR i IN 1 ..apex_application.g_f01.count LOOP
if ((:P2_M1= 'f03') AND (apex_application.g_f03(i) IS NOT NULL)) then
------------------------------------------------------------------------------------
select count(*) into v_count from SCHEMA1.TABLE1
where ATTRIBUTE_CODE = apex_application.g_f02(i)
and header_id = :P2_X_HEADER_ID
and rating_001 is not null ;
------------------------------------------------------------------------------------
update SCHEMA1.TABLE1
set LAST_UPDATE_DATE = sysdate,
LAST_UPDATED_BY = :F2221_USER_ID,
RATING_001 = apex_application.g_f03(i),
STATUS = 'NEW'
where ATTRIBUTE_CODE = apex_application.g_f02(i)
and header_id = :P2_X_HEADER_ID;
--------------------------------------------------------------
END IF;
if ((:P2_M2 = 'f04') AND (apex_application.g_f04(i) IS NOT NULL)) then
------------------------------------------------------------------------------------
select count(*) into v_count from SCHEMA1.TABLE1
where ATTRIBUTE_CODE = apex_application.g_f02(i)
and header_id = :P2_X_HEADER_ID
and rating_002 is not null ;
------------------------------------------------------------------------------------
update SCHEMA1.TABLE1
set LAST_UPDATE_DATE= sysdate,
LAST_UPDATED_BY = :F2221_USER_ID,
RATING_002 = apex_application.g_f04(i),
STATUS = 'NEW'
where ATTRIBUTE_CODE = apex_application.g_f02(i)
and header_id = :P2_X_HEADER_ID;
------------------------------------------------------------------------------------
END IF;
end loop;
我希望得到这个 apex_application.g_f03(i) 字段的值(即使它被禁用)或绕过它。
解决方案
这是任何 HTML 表单的标准行为,而不仅仅是 APEX。如果任何输入设置为禁用,则在提交表单时不会发布其值。如果您可以将其设置为只读,则用户仍将无法对其进行编辑,但其值将在提交时发布。
推荐阅读
- javascript - 视频播放完毕后,如何获取带有嵌入 Vimeo 视频的页面以卸载视频并重定向到另一个页面?
- list - 如何在对话框流机器人中显示列表响应
- c++ - 如何在不销毁对象的情况下返回对象列表
- geospatial - 为什么我的光栅图像不能用 levelplot 显示?
- python - 在服务器上执行时出现错误 No module named 'azure.storage.blob.blockblobservice'
- line - 在 p5.js 中画一条不同宽度的线
- java - 在 For 循环中使用 Scanner
- ruby-on-rails - 如何对同名文件实施附件版本控制?回报率 5.2
- android - 使用 Android 导航组件库实现的底部导航视图中的每次单击都会重新创建片段
- python - 如何训练识别两个物体的模型?