Главная страница
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.034 c
6-1078011744
ALF
2004-02-29 02:42
2004.04.25
SMTP-отправка писем через IdSMTP


6-1077906679
Magician_g
2004-02-27 21:31
2004.04.25
Как начать закачивать файл с определенного места


1-1081449159
tivispider
2004-04-08 22:32
2004.04.25
Как узнать, что нажата клавиша Delete (Del)?


4-1077162158
GrayFace
2004-02-19 06:42
2004.04.25
Как получить HThread по ThreadID?


9-1066578502
vitalick
2003-10-19 19:48
2004.04.25
Книги