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

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

Как наложить блокировку из приложения? [D7, MSSQL]


Bless ©   (2003-12-01 11:59:00) 

Нужно после того, как пользователь нажал F2 на ячейке DBGrid-a, наложить блокировку на строку из некой таблицы. Как это сделать?


Michail Dalakov   (2003-12-02 12:34:00) [1]

То Bless (01.12.03 11:59) HOLDLOCK

Пример
begin tran
select * from table1 HOLDLOCK where ID=.....
waitfor delay "00:00:10"
commit


Bless   (2003-12-02 10:57:00) [2]

Ладно, спасибо.


Shirson   (2003-12-02 09:42:00) [3]

У меня поле есть, в котором отмечается, доступна запись для редактирования или нет.


Bless   (2003-12-02 09:16:00) [4]

А как посмотреть, "можно ли трогать эту запись"?


Shirson   (2003-12-01 18:06:00) [5]

Это сильно зависит.
У меня блокировка на уровне приложения. Т.е. прога смотрит, можно ли трогать эту запись или нет.

Можно триггер настроить. Чтобы он все deleted-inserted в эту строку откатывал. (завести таблицу, в которой хранить id залоченных записей)

(Можно было бы пермишенсы выставить на саму таблицу, но они выставляются на неё всю, или на поля)


Bless   (2003-12-01 15:09:00) [6]

>и "наложить блокировку на строку из некой таблицы"

Как это делается?


Shirson   (2003-12-01 12:20:00) [7]

F2 это post?
Тогда триггером на таблице, которую отображает DBGrid.
Либо, вешаться на onAfterPost у Query, и "наложить блокировку на строку из некой таблицы"


asp   (2003-12-01 12:14:00) [8]

Запускай транзакцию и изменяй эту строчку. Но не нравится мне это...


Наверх

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