, чтобы никого не смущать, мой вопрос: я спрашиваю, является ли это правильным способом вызвать значение текста элемента и вставить его в другое значение другого текста элемента (в другом блоке)?
для меня я думаю, что чего-то не хватает, я не знаю, где
У меня есть два блока данных в одной форме
один блок был создан вручную (неттаблица связана с) named (block15
), еще один блок был построен мастером данных (назван как имя таблицы БД (CRI_AV_VIEW
), это «таблица представления».
хорошо этоэто pl / SQL-код триггера кнопки when_button_pressed
(кнопка находится под пунктами block15
)
--before you just start, suppose the inputs is like these -
--down bellow
--don't worry, all of them are exists and true.
--x1= 1005003000
--x2= 6492 3684 3827 7890 (without spaces)
--x3= 461
--x4= 4
--x5= 200
--x6= 4Y9MH
DECLARE
x1 NUMBER(10):= :block15.item16;
x2 NUMBER(16):= :block15.item20;
x3 NUMBER(3):= :block15.item21;
x4 NUMBER(3):= :block15.item32;
x5 NUMBER(12,2):= :cri_av_view.cost_per_day;
x6 VARCHAR2(32):= :cri_av_view.car_id;
v_count1 NUMBER;
v_count2 NUMBER;
v_count3 NUMBER;
time_1 DATE;
time_2 DATE;
BEGIN
---FIRST---
SELECT COUNT(*)
INTO v_count1
FROM citizens_lic
WHERE id = x1;
SELECT SYSDATE
INTO time_1
FROM dual;
---FIRST IF-----
IF(v_count1 = 1)THEN
---SEOND---
SELECT COUNT(*)
INTO v_count2
FROM citizens_lic
WHERE id = x1
AND work_status NOT IN(
'STUDENT'
);
----SECOND IF -----
IF(v_count2 = 1)THEN
SELECT COUNT(*)
INTO v_count3
FROM client_accounts ca
WHERE ca.card_num = x2
AND ca.cvc = x3
AND(exp_date > time_1)-- all of them are in date datatype
AND(balance >(x4 * x5));--once the operation reached here, something wired is happened, x5 is like something big while in fact, it is less, this condition based on the given must be true and gives back only 1, (SQL plus command proved that for me)!
IF(v_count3 = 1)THEN
---------- PRE-APPROVING THE TIME AND DATE FOR THE ORDER ------
SELECT SYSDATE
INTO time_2
FROM dual;
----------------- INSERT THE ORDER--------
INSERT INTO car_rent_orders(
car_id,
end_rent,
customer_id,
card_num,
cvc
)VALUES(
x6,
(time_2 + x4),
x1,
x2,
x3
);
UPDATE car_rent_inv
SET
car_status = 0
WHERE car_id = x6;
message('THANK YOU FOR RENTING WITH US, PLEASE WAIT TO PRINT YOU COPY OF THE ORDER!');
COMMIT;
ELSE
message('INSUFFCENT AMMOUNT IN YOUR CARD!');
COMMIT;
END IF;
ELSE
message('SORRY, YOUR WORK STATUS WON''T ALLOW YOU TO RENT A CAR!');
COMMIT;
END IF;
ELSE
message('SORRY, SEEMS LIKE YOU ARE NOT HAVING A CITIZENS'' LICENCE !');
COMMIT;
END IF;
END;
хорошо, хотя код уже compiled
, работает нормально, но этовнутри x5
вроде ничеговозможно, я ошибся в том, как я создал оба блока, или, возможно, у блока CRI_AV_VIEW
есть table view
, поэтому он не даст мне никакого значения, или я не знаю, как принять значение item textbox
ивбить это в другое значение другого item box
?
пожалуйста, направьте меня со своим мнением мы мигрируемспаси день!или мы можем сложить поток!