|
|
|
FRM - 40735 Error
|
|||
|---|---|---|---|
|
#18+
В Forms Builder есть 2 текстовых айтима: :block1.text_item1 и :block1.text_item2. Я приссоеденил к айтиму :block1.text_item1, тригер WHEN - VALIDATE - ITEM, вот текст тригера : declare str varchar2(20); temp varchar2(20); n varchar2(20); begin -- primul nu trebuie sa fie '/' str:=:block1.text_item1; select substr(str,0,1) into n from dual; if (n = '/') then :block1.text_item2:='Primul ch. nu trebuie sa fie /'; end if; -- ultimul nu trebuie sa fie '/' select substr(str,length(str),1) into n from dual; if (n = '/') then :block1.text_item2:='Ultimul ch. nu trebuie sa fie /'; end if; -- nu trebuie sa fie doua '/' unul linga altul for i in 1..length(str) loop n := substr(str,i,1); if (n = '/') and (n = substr(str,i+1,1)) then :block1.text_item2:='Nu trebuie sa fie doua // unul linga altul'; end if; end loop; SELECT TRANSLATE( str,'@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-?:().,''+{} ','@') into temp FROM DUAL; if (temp is not null) and length(str)>16 then :block1.text_item2:='That is not ok'; else :block1.text_item2:='That is ok'; end if; end; Форма запускается, но когда я ввожу в первый айтем :block1.text_item1 недопускаемое значение -- выскакивает ошибка FRM - 40735 : FRM-40735: %s trigger raised unhandled exception %s. Cause: Application design error. The current trigger raised an exception (other than FORM_TRIGGER_FAILURE), but it did not handle the exception. Action: Rewrite the trigger text to handle the exception. Level: >25 Type: Error Но я не знаю как исправить ошибку, помогите кто может. За рание спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2003, 15:55 |
|
||
|
FRM - 40735 Error
|
|||
|---|---|---|---|
|
#18+
короче корешок такое дело, ты посмотри какая у тебя SQL ошибка пишется в следа за frm-40735 скорее всего у тебя гдето ошибка в запросах, либо две строки выбирает либо не одной... так что смотри... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2003, 16:56 |
|
||
|
FRM - 40735 Error
|
|||
|---|---|---|---|
|
#18+
да уж - при ... into ... надо ставить исключения NO_DATA_FOUND - ни одной TOO_MANY_ROWS - более одной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2003, 17:18 |
|
||
|
FRM - 40735 Error
|
|||
|---|---|---|---|
|
#18+
Во-первых в Developer есть нормальный отладчик, и первое, что нужно делать в подобных ситуациях (ты считаеш, что все правильно, а эти ... из ... > очередной глюк( знакомо?:) ) это четко выделить проблему. После этого решение становится очевидным. Во-вторых, если внутри (begin..>...end) действовать через Select... , то это приводит к не контролируемому времени закрытия курсора (отложенное закрытие). Я понимаю, что так писать гораздо проще (сам иногда грешу когда нет времени), но лучше возмите ситуацию под контроль: declare cursor cur1 is select ...... begin open cur1; fetch cur1 into ... if cur1%notfound then .... end if; close cur ........ end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2003, 19:03 |
|
||
|
FRM - 40735 Error
|
|||
|---|---|---|---|
|
#18+
create or replace procedure a is cursor ch is select eng from english; v_ch ch%rowtype; begin for v_ch in ch loop if ch%isopen then dbms_output.put_line('FORYES'); else dbms_output.put_line('FORNO'); end if; end loop; if ch%isopen then dbms_output.put_line('yeeeeeeeeeeeees'); else dbms_output.put_line('nooooooooo'); end if; end a; Выходит что всетаки закрыт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2003, 12:14 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32092017&tid=1992126]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
144ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 438ms |

| 0 / 0 |
