我想实现一个使用JQueryMobile框架的ORACLE APEX应用程序的问答系统。基本上,一个问题文本和包含可能的答案的报告显示在一个页面上。点击复选框可以选择答案。点击提交按钮后,包含答案文本,answer_id和当前session_id的选定复选框将被插入到数据库中的表中。在Oracle APEX 4.2(w。JQuery Mobile)中循环复选框
在Oracle APEX 4.2中,我使用的是经典报告来实现这一点。 Thich实际上是一个不好的解决方案,因为报表中的复选框显示为简单的HTML复选框,而不是整洁的JQueryMobile复选框)。无论如何,这是我目前的解决方案:
是使用此代码创建的经典报告:
SELECT
APEX_ITEM.CHECKBOX(1,answer_id),
answer_id,
answer_text
FROM ANSWERS
WHERE question_ID = :P10_Question_ID;
数据的插入是通过在提交过程中完成的“关于提交 - 计算和验证后”
这是在提交过程中的代码:
DECLARE
var_session_id NUMBER := :P0_SESSION_ID;
BEGIN
FOR i in 1..APEX_APPLICATION.G_F01.COUNT LOOP
INSERT INTO STUDENT_ANSWERS
(answer_id, answer_text, session_id)
SELECT a.answer_id, a.answer_text, var_session_id
FROM ANSWERS a
WHERE a.answer_id = APEX_APPLICATION.G_F01(i)
END LOOP;
COMMIT;
END;
但这种方法是行不通的。相反,没有任何内容被插入到数据库中。
我不知道为什么这个过程没有插入到数据库中,这里可能是这行有问题 WHERE a.answer_id = APEX_APPLICATION.G_F01(i)
?
我甚至尝试一个简单的更新过程用于测试目的,但这并不工作之一:
BEGIN
FOR i in 1..APEX_APPLICATION.G_F01.COUNT LOOP
UPDATE STUDENT_ANSWERS
SET text = APEX_APPLICATION.G_F03(APEX_APPLICATION.G_F01(i))
WHERE am_id = APEX_APPLICATION.G_F02(APEX_APPLICATION.G_F01(i));
END LOOP;
COMMIT;
END;
可有人告诉我如何通过复选框环ORACLE APEX 4.2中,如何插入值ANSWER_ID,点击提交按钮后,ANSWER_TEXT和SESSION_ID到STUDENT_ANSWERS表中?如果您不知道如何使用报告而不是使用简单的复选框,这对我来说会更有帮助!