Вниз
Скачать: 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.021 c
14-1081071860
able
2004-04-04 13:44
2004.04.25
Как вы относитесь к онлайн играм?


1-1081102370
tivispider
2004-04-04 22:12
2004.04.25
Как в командной строке скомпилировать проект?


7-1077723114
Rentgen
2004-02-25 18:31
2004.04.25
Вскрытие.


14-1080889400
Undert
2004-04-02 11:03
2004.04.25
PHP + Права доступа


1-1081690362
Sha
2004-04-11 17:32
2004.04.25
Запретить Classes.TParser использовать Unicode




   Наверх