powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FRM - 40735 Error
5 сообщений из 5, страница 1 из 1
FRM - 40735 Error
    #32091934
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 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

Но я не знаю как исправить ошибку, помогите кто может.
За рание спасибо.
...
Рейтинг: 0 / 0
FRM - 40735 Error
    #32091996
new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
короче корешок такое дело, ты посмотри какая у тебя SQL ошибка пишется в следа за frm-40735 скорее всего у тебя гдето ошибка в запросах, либо две строки выбирает либо не одной... так что смотри...
...
Рейтинг: 0 / 0
FRM - 40735 Error
    #32092017
Alexandr Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж - при ... into ...

надо ставить исключения
NO_DATA_FOUND - ни одной
TOO_MANY_ROWS - более одной
...
Рейтинг: 0 / 0
FRM - 40735 Error
    #32092097
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых в Developer есть нормальный отладчик, и первое, что нужно делать
в подобных ситуациях (ты считаеш, что все правильно, а эти ... из ... > очередной глюк( знакомо?:) ) это четко выделить проблему. После этого
решение становится очевидным.

Во-вторых, если внутри (begin..>...end) действовать через Select... , то это
приводит к не контролируемому времени закрытия курсора (отложенное закрытие). Я понимаю, что так писать гораздо проще (сам иногда грешу когда нет времени), но лучше возмите ситуацию под контроль:

declare
cursor cur1 is select ......
begin
open cur1;
fetch cur1 into ...
if cur1%notfound then
....
end if;
close cur
........
end;
...
Рейтинг: 0 / 0
FRM - 40735 Error
    #32093266
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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;

Выходит что всетаки закрыт...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FRM - 40735 Error
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]