将值从Array传递到Apex表单上的文本字段

时间:2012-11-28 15:53:47

标签: plsql oracle-apex

我在一个进程中使用以下pl / sql来分隔一些文本,然后显示这些文本并将其放入两个文本字段以保存记录。我无法看到以下内容有任何问题,但是当我在APEX上运行该过程时,它会显示“ORA-01403:未找到数据”。这是将数组中保存的值传递到APEX表单上的文本字段的正确方法吗?

declare

v_array apex_application_global.vc_arr2;

begin

-- Convert delimited string to array
v_array := apex_util.string_to_table(:P1_OPERATION_JOB,'^');

:P1_ORDER := v_array(1);
:P1_LOCATION := v_array(2);

end;

1 个答案:

答案 0 :(得分:1)

您确实可以从数组中检索值。但是,获取ORA-01403错误表示任何一个位置都没有数据。 (当尝试访问plsql数组中没有数据的位置时,Oracle会抛出此错误,并且当select into检索到没有数据时出现相同的错误)

我运行此代码只是为了确保分割的输出:

DECLARE
    l_vc_arr2    APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
    apex_debug_message.log_message('Debugging string to table output:');
    l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE(:P1_OPERATION_JOB, '^');
    FOR z IN 1..l_vc_arr2.count LOOP
        apex_debug_message.log_message('Item at position '||z||': '||l_vc_arr2(z));
    END LOOP;
END;

在启用调试的情况下运行页面,并检查调试消息以获取循环的输出。在您尝试访问的其中一个职位上,很可能没有任何价值。