Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Почему не доходит exception   Найти похожие ветки 

 
YurikGl ©   (2004-03-25 19:29) [0]

Вопрос, видимо, простой.

Имеется триггер в базе Interbase

CREATE TRIGGER ZAMENASPOSOBTRIGGER1 FOR ZAMENASPOSOB BEFORE DELETE POSITION 0 AS
DECLARE VARIABLE TMP INTEGER;
BEGIN
FOR SELECT NULL FROM DopustZamena
 WHERE IdZamenaSposob = old.IdZamenaSposob into :TMP
DO
 EXCEPTION  NEW_EXCEPTION;
END

Он запрещает удаление записи в материнской таблице ZAMENASPOSOB если есть соответсвующие записи в дочерней DopustZamena.

Таблицы, кроме триггера ничем не связаны.

Если удалять через IbExpert или SQLExlplorer, то он срабатывает и при наличии записи в дочерней таблице DopustZamena блокирует удаление и выдает сообщение об ошибке.
Но если удалять через мое приложение SimpleDataSet2.Delete, то Grid делает вид, что запись удалена, сообщений не выдает, а на сервере не удаляет.

Работаю через DBExpress  SQLConnection+SimpleDataSet+DataSource+EhGrid

Где что выставить надо?


 
YurikGl ©   (2004-03-25 20:33) [1]

Неужели никто не знает?


 
Sergey Masloff   (2004-03-25 22:23) [2]

Насколько помню DBExpress же дает только однонаправленые курсоры. И чтобы работать с гридом они должны где-то кешироваться. Соответственно должен быть метод применить изменения к базе. Пока ты его не вызовешь в базе ничего не меняется и никаких исключений ты не получишь. Это вкратце. Подробнее не скажу потому что с этим Г (DBExpress) не работаю и не собираюсь. Но то что я даю тебе верное направление - 99.99%


 
Sergey Masloff   (2004-03-25 22:24) [3]

Ага, он потомк TCustomClientDataSet. Эплай апдейтс Пушкин вызывать будет?


 
YurikGl ©   (2004-03-25 22:44) [4]

В принципе, проблему я решил отказавшись от методов типа DataSet.delete. Пользую SQL-комманды и все Ok.

Все равно спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
7-1078045751
Yasha
2004-02-29 12:09
2004.04.25
Защита


9-1067670233
Hecz
2003-11-01 10:03
2004.04.25
Искуственный интеллект


4-1077361547
Gas
2004-02-21 14:05
2004.04.25
Как определить, "занято" ли окно/приложение?


1-1081594405
XXXXXXXXXXX
2004-04-10 14:53
2004.04.25
Работа с Файлами больших размеров ()


14-1081187191
gn
2004-04-05 21:46
2004.04.25
Эволюция Hello World