我将创建一个编辑按钮,用于编辑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 读取
您的编辑按钮准备一个参数列表,填充参数,然后执行call_form打开一个名为"member"的表单。
您收到FRM-40010错误,因为表单服务器找不到成员表单可执行文件(member.fmx)。我希望您已经编译了表单并创建了fmx文件。如果没有,请按Ctrl+Shift+K编译所有文件,并按Ctrl>+ 就第一段代码而言,循环没有任何意义,因为它只是进行一个自联接(参见位:WHERE MEMBER_ID = MEMBER_ID
-我希望这是一个拼写错误?),然后插入到它从中选择的同一个表中