在 Apex 页面中传递数据

Passing data in Apex Pages

我想将数据从一个页面(表单)传递到另一个页面,而不实际将数据添加到数据库中。我将使用 'next' 按钮传递值(数据),并使用 'submit' 按钮将之前页面的所有详细信息插入数据库。有谁知道如何在 Oracle Apex Pages 中实现此目的?

您可以使用 apex collections.

在第一页中创建一个分配给 NEXT 按钮的进程,您可以在其中将表单数据保存到集合中,就像上面的示例一样:

BEGIN
    apex_collection.create_or_truncate_collection(p_collection_name => 'FORM_DATA');

    apex_collection.add_member( p_collection_name => 'FORM_DATA'
                              , p_c001            => :P1_ITEM1
                              , p_c002            => :P1_ITEM2
                              , p_c003            => :P1_ITEM3
                              , p_c004            => :P1_ITEM4
                              , p_c005            => :P1_ITEM5      
                              );

    END LOOP;
END;

您还可以使用 p_n001 - p_n005 表示数字,p_d001 - p_d005 表示日期,您可以阅读 here

在第二页中,需要创建一个自定义进程来将数据保存到数据库中,您需要从数据库中读取数据,就像上面的示例一样:

BEGIN
    INSERT INTO my_table (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10)
    SELECT c001
    ,      c002
    ,      c003
    ,      c004
    ,      c005
   -- 2nd page form items
    ,      :P2_ITEM1
    ,      :P2_ITEM2
    ,      :P2_ITEM3
    ,      :P2_ITEM4
    ,      :P2_ITEM5
      FROM apex_collections
     WHERE collection_name = 'FORM_DATA'; -- collection name must be uppercase
END;