powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Блокировка одной записи в таблице через ODAC...
2 сообщений из 2, страница 1 из 1
Блокировка одной записи в таблице через ODAC...
    #32113758
lenlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Пишу в Delphi 5.0, ODAC(Oracle Data Access Componentes 3.00.3.26 for Delphi5), Oracle 8.
Проблема такая: никак не пойму как заблокировать одну запись на нужное мне время, т.е. :USER-1 запускает приложение, приложение делает запрос SELECT .... FOR UPDATE, находится одна запись. USER-1 начинает ее править ее в своем интерфейсе. Правит ее он около 10 минут. USER-2 в это время запускает тоже мое приложение, и тоже делает такой же запрос. И начинает без проблем править туже запись. Оба пользователя (неважно в какой последовательности) сохраняют исправления. И в БД появляются ДВЕ записи!!!
Вот никак не могу понять что еще сделать чтоб такое не происходило. Надо чтоб пока USER-1 правит эту запись, USER-2 не мог ее править, а только читать, при этом USER-2 дожен иметь право править другие записи из этой же таблицы. Все это желательно реализовать в Делфи.

Помогите плиз - неделю бьюсь над проблемйо, вся работа остановилась, башка уже не соображает ...

Заранее благодарен за ответы...
С уважением, lenlord
icq: 77472424
...
Рейтинг: 0 / 0
Блокировка одной записи в таблице через ODAC...
    #32113921
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT:
SELECT * FROM my_table

INSERT...
UPDATE...
DELETE....

LOCK:
SELECT * FROM my_table WHERE ID=:ID FOR UPDATE NOWAIT

На OraQuery1.LockMode - LockImmediate
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Блокировка одной записи в таблице через ODAC...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]