#sql #oracle #oracle-apex
#sql #Oracle #oracle-apex
Вопрос:
Я получил таблицу «user» и таблицу «student», в таблице user есть некоторые атрибуты, такие как user_id, lname, fname и gender, в таблице student есть некоторые другие атрибуты, такие как course, WAM и user_id в качестве внешнего ключа для соединения таблицы student с таблицей user.
Теперь я создаю форму для регистрации учетной записи пользователя. Я создал форму для пользователя, чтобы вставить данные в таблицу пользователя, после нажатия кнопки «Далее» она перейдет в другую форму, чтобы позволить пользователю вставлять данные в таблицу учащихся.
Как я могу перенести идентификатор пользователя из предыдущей формы во вторую форму в качестве значения по умолчанию, чтобы данные в обеих таблицах могли объединяться?
Например, в первой форме пользователь получил свой user_id как 10002, и я хочу ввести это значение в поле user_id второй формы в качестве значения по умолчанию.
Ответ №1:
Две страницы, верно?
Страница 1, пользовательские данные:
- создайте кнопку («Далее», как вы сказали)
- в разделе «Поведение» задайте действие для перенаправления на страницу в этом приложении
- нажмите кнопку «Цель» и
- установите его для перехода на страницу 2
- задайте элементы: name =
P2_ID
, value =amp;P1_ID.
(обратите внимание на начальный амперсанд и конечную точку)
Страница 2, данные учащегося:
- он должен содержать элемент P2_ID, который будет принимать значение, переданное со страницы 1
- используйте это значение при сохранении данных учащегося в таблице
Комментарии:
1. Спасибо за ответ, я следую шагу, который вы предложили, однако, когда я нажимаю на кнопку «Далее» и перехожу на страницу 2, идентификатор пользователя по-прежнему остается пустым, и когда я проверяю свою базу данных, данные, вставленные на странице 1, не записываются в мою базу данных, как я могу это решить? Дополнительная информация: Я поместил кнопку в поле «СОЗДАТЬ» в области region.
2. Добро пожаловать. Если вы сделали это правильно, то
:P2_ID
будет иметь значение. Если в таблице ничего не было сохранено, значит, вы не отправляли страницу 1. Для этого нажмите кнопку P1_BTN_NEXT отправить ; затем создайте ветку , которая перенаправит вас на страницу 2 (установите все те настройки, о которых я упоминал ранее, для ветки).3. Еще раз спасибо за ответ, могу ли я узнать, где я могу создать ветку? Вы имеете в виду, что установите кнопку для отправки страницы и после отправки оставьте страницу на странице 1, затем создайте другую кнопку как «далее»? Или вы имеете в виду, что при создании формы установите «Ветвь здесь при отправке» как страницу 2? но если бы мне это понравилось, я не смог бы выполнить шаг set item в своем поведении. Дополнительная информация, на странице 1, пользователь не может установить идентификатор пользователя вручную, поскольку я установил увеличение идентификатора пользователя на единицу при создании новой записи
4. Ветка находится на вкладке Процессы. На странице 1 будет только одна кнопка: P1_NEXT. Он отправит страницу. При отправке вы перейдете на страницу 2 (не оставайтесь на странице 1, это бесполезно). Независимо от того, как задан идентификатор ПОЛЬЗОВАТЕЛЯ, submit сохранит его в таблице, и он будет находиться в состоянии сеанса, поэтому вы сможете перенести его на страницу 2.
5. Большое спасибо!!! Я решил все!! Теперь небольшая проблема, если пользователь создает новую учетную запись, он закончил заполнять форму на странице 1 и в настоящее время находится на странице 2, но он нажимает «Отмена», как я могу удалить запись, сохраненную на странице 1, когда пользователь нажимает «Отмена» на странице 2? Иначе в моей таблице будет запись, сделанная наполовину