![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при удалении в ADOQuery. [D7, MSSQL]
Babay © (2003-04-28 04:53:00)Доброго времени суток, уважаемые!
У меня на MSSQL - сервер есть табличка (MyTable) с разными полями. Одно из полей автоинкрементальное.
На форме в проге связка ADOConnection ->AdoQuery->DataSource-> DbGrid->DBNavigator все это дело завязано на таблицу MyTable. В Query запрос такой:
Select *
from MyTable
С помощью навигатора добовляем удаляем записи в таблице все ок.
Но стоит поставить на таблицу тригер на удаление (в тригере идет удаление записей из другой таблицы) то при удалении записей через программу возникает ошибка:
"Неудается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения."
Однако запись на сервере удалятся и тригер срабатывает. В DBGrid запись остается видимой. Потом перееоткрываем Query и видим, что записи действительно нет. При этом я точно знаю что с таблицей никто кроме меня не работает и изменять никто ничего немог.
Кто нибудь может объяснить в чем дело и как это победить?
Babay (2003-04-28 08:12:00) [21]CREATE TRIGGER [DeleteUser] ON dbo.MyTable
FOR DELETE
AS
delete from MyTable1
where MyTable1.User_Id in (select [Id] from Deleted)
delete from MyTable2
where MyTable2.User_Id in (select [Id] from Deleted)
Причем удаление просто запросом из QueryAnalyser проходит без ошибок
BoxTer (2003-04-28 08:01:00) [22]текст триггера на бочку...