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

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

запись была удалена другим пользователем [D5]


Pil ©   (2005-09-20 11:45:00) 

Уважаемые мастера Делфи!
Я пытаюсь из программы удалить запись из таблицы, после этого вылазит такое сообщение: NOE171/UPS - Запись была удалена другим пользователем. Хотя я точно знаю, что эта таблица использовалась только под одним пользователем, тем более ничего не удалялось. Потом, если перейти к другой записи и вернуться опять к той, то ее уже не будет.
Не могу понять, что происходит. Помогите разобраться, пожалуйста.


Sergey13   (2005-09-20 16:26:00) [1]

2[6] Pil ©   (20.09.05 15:59)
Как вариант для поиска: может идет нечто вроде попытки удаления (изменения) записей, которые так же удаляет тригер или каскадное удаление. Попробуй удалить прямым запросом и переоткрыть набор. Хотя бы поймешь где ошибка возникает - на серваке или в клиенте.


Pil   (2005-09-20 15:59:00) [2]

1. точно библиотека называется NCOCI8

2. rowid, может быть, и нужен, но ведь на другой форме все нормально удаляется.

3. щас попытаюсь еще раз порыться :)  

4. спасибо, что возитесь со мной


Sergey13   (2005-09-20 13:27:00) [3]

2[4] Pil ©   (20.09.05 13:10)
>TOCI - компоненты для прямого доступа к БД
Не встречал.

>TDBNavigator все сам и так должен обеспечивать.
TDBNavigator - это просто панелька с кнопочками. Он дает датасорсу (датасету) команду Delete, а вот что и как уходит на сервер - это вопрос. Помониторь, что и скока уходит на сервер (например htttp://jilin.nm.ru ). Может обработчики какие стоят. Может тригера "мешают".

ЗЫ: В ДОА для редактирования набора надо в запрос включать rowid. Тут нечто такого же не надо?


Pil   (2005-09-20 13:10:00) [4]

БД Оракл, а TOCI - компоненты для прямого доступа к БД. Для таблицы нет отдельного компонента, есть только этот TOCIQuery.
В таблице есть ПК
Никакого спецзапроса. TDBNavigator все сам и так должен обеспечивать. Ему назначен соответствующий ДатаСорс и он удаляет текущую запись.


Sergey13   (2005-09-20 12:36:00) [5]

>TOCIQuery
Это что за компонент? Оракловое что-то?

>2. запись пытаюсь удалить путем нажатия кнопки "-" на TDBNavigator
>Как видите, все предельно просто.
А как это выглядит для БД? Там спец. запрос уходит или еще что? ПК есть в таблице? Что за БД вообще?


Pil   (2005-09-20 12:31:00) [6]

никакого чуда точно нет.
Уточню ситуацию:
1. Удаляемая запись видна в TDBGrid, в котором представлен запрос TOCIQuery типа:

select *
from table
where a = :param1
  and b = :param2

2. запись пытаюсь удалить путем нажатия кнопки "-" на TDBNavigator
Как видите, все предельно просто.


Sergey13   (2005-09-20 11:51:00) [7]

Или чудо или ты ошибаешься насчет условий или... в программе ошибка. Я склоняюсь к первому "или". 8-)


Наверх

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