我想實現一個使用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表中?如果您不知道如何使用報告而不是使用簡單的複選框,這對我來說會更有幫助!