Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

UpdateSQL.DeleteSQL - update failed [D5, IB6.x]


Вольный Стрелок ©   (2002-09-23 13:05:00) 

BDE 5.2
на TQuery привешен TUpdateSQL, в котором на удаление стоит
EXECUTE PROCEDURE pr_DEL_Branch( :OLD_OBJ_ID )
OBJ_ID - это поле, возвращаемое в Query.
При вызове updTree.Apply( ukDelete ) происходит Update failed.
Если же явно выполнить в дополнительном Query команду EXECUTE, то все проходит.
В чем прикол?


Александр Спелицин   (2002-09-24 17:42:00) [1]

Если посмотрите в исходниках TUpdateSQL, то увидите там проверку на кол-во измененнных записей = 1, а после вызова процедуры оно равно 0. Создайте своего наследника и перекройте этот метод. Проверено опытом, работает.


Вольный Стрелок   (2002-09-24 17:00:00) [2]

так что делать?


Вольный Стрелок   (2002-09-23 14:59:00) [3]

Кем это считается?
У меня выполняется каскадное удаление из нескольких связанных таблиц, поэтому и сделано процедурой. А какая ей разница, что выполняется на сервере, ее дело - передать команду и дождаться результата ее выполнения.
Или я неправ?


Alexandr   (2002-09-23 13:55:00) [4]

в том что после этой операции считается, что должна удалиться одна и только одна запись.
А у тебя не так


Наверх

Титульная страница Поиск, карта сайта Написать письмо