Plsql 在Oracle forms builder中按-button时编辑按钮

Plsql 在Oracle forms builder中按-button时编辑按钮,plsql,oracle10g,oracleforms,Plsql,Oracle10g,Oracleforms,我将创建一个编辑按钮,用于编辑Oracle forms Builder中名为成员的表单的内容。我已经做了添加按钮,这是代码(此按钮位于成员添加表单): 注意:表的名称也是MEMBER,这些是MEMBER表的列 -member_id -firstname -lastname -gender -address -contact -type -yearlevel -status 这是im用于编辑按钮的代码: DECLARE pl PARAML

我将创建一个编辑按钮,用于编辑Oracle forms Builder中名为成员的表单的内容。我已经做了添加按钮,这是代码(此按钮位于成员添加表单):

注意:表的名称也是MEMBER,这些是MEMBER表的列

-member_id  
-firstname  
-lastname    
-gender  
-address    
-contact   
-type   
-yearlevel  
-status   


这是im用于编辑按钮的代码:

DECLARE
  pl PARAMLIST:=GET_PARAMETER_LIST('PL_EDIT_MEM');
BEGIN
  IF NOT ID_NULL(pl) THEN
    DESTROY_PARAMETER_LIST(pl);
  END IF;
  pl:=CREATE_PARAMETER_LIST('PL_EDIT_MEM');
  ADD_PARAMETER(pl, 'P_MODE', TEXT_PARAMETER, 'EDIT');
  ADD_PARAMETER(pl, 'P_MEMBER_ID', TEXT_PARAMETER, :MEMBERS.MEMBER_ID);
  CALL_FORM('MEMBER',NO_HIDE,DO_REPLACE,NO_QUERY_ONLY,pl);
END;
代码给了我一个错误:FRM-40010:无法从成员中读取

我的问题是

  • 首先,我真的不懂代码
  • 其次,我想知道在编辑表的内容时是否也需要循环,因为add按钮是循环的
  • 第三,请帮我找到一个比这个更好的代码

您的编辑按钮准备一个表单,填充参数,然后执行一个调用表单以打开一个名为“成员”的表单

您收到FRM-40010错误,因为表单服务器找不到成员表单可执行文件(member.fmx)。我希望您已经编译了表单并创建了fmx文件。如果没有,按Ctrl+Shift+K组合键编译全部,按Ctrl+T组合键生成fmx文件



对于第一段代码,循环没有任何意义,因为它只是在进行自连接(请参见位:
WHERE MEMBER\u ID=MEMBER\u ID
-我希望这是一个拼写错误?),然后插入到它从中选择的同一个表中。我按了CTRL+K键。但它什么也不做:(然后在第二部分中,我尝试创建一个成员的虚拟帐户。然后该帐户将用作第二个发件人。但是我输入的记录没有保存。怎么办?:((然后我得到了这个新的错误FRM-40400没有对save的更改,应该是Ctrl+T来生成fmx。我不知道您是如何设计表单的,但是如果它被配置为一个以表为源的数据块,commit_form将把输入的数据保存到该数据块被设置为源的表中。如果是40400,则forms检测不到任何更改。)o显示该消息,但它仍然保存我添加的信息,只要它说不更改保存,这是因为您正在执行
commit\u表单
,然后再次执行提交
DECLARE
  pl PARAMLIST:=GET_PARAMETER_LIST('PL_EDIT_MEM');
BEGIN
  IF NOT ID_NULL(pl) THEN
    DESTROY_PARAMETER_LIST(pl);
  END IF;
  pl:=CREATE_PARAMETER_LIST('PL_EDIT_MEM');
  ADD_PARAMETER(pl, 'P_MODE', TEXT_PARAMETER, 'EDIT');
  ADD_PARAMETER(pl, 'P_MEMBER_ID', TEXT_PARAMETER, :MEMBERS.MEMBER_ID);
  CALL_FORM('MEMBER',NO_HIDE,DO_REPLACE,NO_QUERY_ONLY,pl);
END;