我的apex应用程序中有一个 Master Detail 表单。这是我的表格形式区域来源。
select
"ITEM_ID",
"ORDER_ID",
"QUANTITY",
"PRICE",
"NOTE",
wwv_flow_item.md5(QUANTITY) "item_hash" -- set to 'hidden' in tabular form
from "#OWNER#"."ITEMS"
where "ITEM_ID" = :P2_ITEM_ID
我还添加了页面验证,如下所示。
DECLARE
l_error VARCHAR2 (4000);
BEGIN
FOR i IN 1 .. apex_application.g_f02.COUNT
LOOP
IF apex_application.g_f06(i) IS NOT NULL AND
wwv_flow_item.md5(apex_application.g_f03(i)) <> apex_application.g_f06(i)
THEN
l_error := l_error
|| '</br>'
|| '</br>'
|| 'Row '
|| i
|| '</br>'
|| ' Quantity Error';
END IF;
END LOOP;
RETURN LTRIM (l_error, '</br>');
END;
但是,当我尝试更新此表单中的数据时,我收到的误差低于此值。
自用户启动以来,数据库中当前版本的数据已发生变化 更新过程。当前行版本标识符= “4E8A473F53865EF8720F14022DC71E03”应用程序行版本标识符 =“0ABB3E73FB3E38844974E945864ECDED”(第1行)
我该如何解决这个问题?
答案 0 :(得分:-1)
尝试将隐藏的项目命名为“表名称”字段。
例如:
select
"ITEM_ID",
"ORDER_ID",
QUANTITY as "QCT",
"PRICE",
"NOTE",
wwv_flow_item.md5(QUANTITY) "QUANTITY" -- set to 'hidden' in tabular form
from "#OWNER#"."ITEMS"
where "ITEM_ID" = :P2_ITEM_ID
错误表示在更新之前列名已更改,并且确实已更改。您将其命名为item_hash
,因为它与QUANTITY
不同。