我将创建一个编辑按钮,用于编辑Oracle Forms Builder中名为MEMBERS的表单的内容。我已经完成了ADD按钮,这是代码(此按钮位于MEMBERS_ADD表单):
注意:表的名称也是MEMBER,这些是成员表的列
-member_id
-firstname
-lastname
-gender
-address
-contact
-type
-yearlevel
-status
begin
commit_form;
first_record;
LOOP
INSERT INTO MEMBERS
SELECT * FROM MEMBERS WHERE MEMBER_ID = MEMBER_ID;
EXIT WHEN :SYSTEM.LAST_RECORD='TRUE';
NEXT_RECORD;
END LOOP;
FIRST_RECORD;
COMMIT;
MESSAGE('RECORD SAVED!');
MESSAGE(' ',no_acknowledge);
end;
这是我用于编辑按钮的代码:
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:无法从MEMBER中读取
我的问题是
答案 0 :(得分:0)
您的编辑按钮准备Parameter list,填充参数,然后执行call_form打开名为“member”的表单。
您收到FRM-40010错误,因为Forms服务器无法找到成员表单可执行文件(member.fmx)。我希望你已经编译了表单并创建了fmx文件。如果没有,请按 Ctrl + Shift + K 编译所有 Ctrl + T 生成fmx文件。
就第一段代码而言,循环没有意义,因为它只是进行自我连接(参见位:WHERE MEMBER_ID = MEMBER_ID
- 我希望这是一个错字?)然后插入到同一个表中它选择来自