我正在使用请求过程通过页面项目插入我的数据它给出了一个错误获取超过一行请给我一个解决方案

I m inserting my data uthrough page item using request process it gives an error fetch more then one row please give me a solution

var a = $v('P1995_LUMBER');
if ((a = '1')) {
  apex.submit({
    request: "CREATE",
    set: {
      LUMBER: "P1995_LUMBER",
      LST_NME: "P1995_LST_NME",
      FST_NME: "P1995_FST_NME",
    },
  });
} else if (a != '1') {
  apex.submit({
    request: "Update",
    set: {
      LUMBER: "P1995_LUMBER",
      LST_NME: "P1995_LST_NME",
      FST_NME: "P1995_FST_NME",
    },
  });
} else {
  alert("bang bang");
}

该代码中没有任何 sql,因此无法诊断您遇到 TOO_MANY_ROWS 异常的原因。 运行 debug mode 中的页面并检查调试数据 - 它应该会告诉您是什么语句引发了异常。如果您需要更多帮助,post 一个适当的可重现案例,而不是一个没有任何上下文的代码片段。

两件事:

  1. JavaScript 的相等性检查是 ===== (more details here)。 (a = '1') 将“1”分配给变量。
  2. 您似乎没有正确使用 apex.submit 流程。通常,您会设置项目的值 例如:
apex.page.submit({
    request: "SAVE",
    set: {
        "P1_DEPTNO": 10,
        "P1_EMPNO": 5433
    }
} );

不过,通过查看您的 JavaScript 代码,我会说您甚至不需要使用 JavaScript。

无论何时提交页面,页面上的所有项目都会自动发送到 server-side。然后您可以使用绑定变量引用它们。然后您可以简单地拥有两个进程,一个用于创建,一个用于更新,每个进程都有相应的 insert/update 语句,使用您页面上的不同项目。

通常您会看到一个带有两个 Create/Edit 按钮的页面。他们将有一个 server-side 条件,以便只显示正确的一个。

尝试使用向导创建一个表单类型页面(带有报表的表单),您将看到一切是如何完成的。

如果没有看到您正在使用的页面和代码,很难判断您的问题到底是什么,需要更多详细信息。