Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
11-1064310091
Vadim S
2003-09-23 13:41
2004.04.25
KOLDataModule


9-1068053708
katty
2003-11-05 20:35
2004.04.25
Змейка


14-1080810306
Rouse_
2004-04-01 13:05
2004.04.25
Кто как сегодня провел или собирается провести...


14-1080679041
real_dimedrol
2004-03-31 00:37
2004.04.25
Транслятор интерпретатор


3-1080200499
avgur
2004-03-25 10:41
2004.04.25
Восстановление Paradox




   Наверх