2

我的 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 行)

我该如何解决这个问题?

4

1 回答 1

-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.

于 2015-01-11T10:35:10.257 回答