Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Блокировка записей в ADO   Найти похожие ветки 

 
AleKo   (2004-05-12 04:00) [0]

Добрый день Господа!
Подскажите как произвести блокировку нескольких записей в многопользовательском приложении так что бы при считывании записей клиентом они блокировались и другой пользователь не имел права их редактировать а только просматривать.
Блокировки предусмотренные в ADO касаются только редактируемых записей.
Работаю с таблицами Access.


 
AleKo   (2004-05-12 08:14) [1]

?


 
AleKo   (2004-05-12 08:52) [2]

Посоветуйте что ни будь.


 
sniknik ©   (2004-05-12 09:03) [3]

а нечего, реально управлять блокировкой в accecc тем более позписьно ты не сможеш.

попробовать можно так (без гарантий что сработает) выставить locktype = ltPessimistic и зделать изменения в блокируемых записях, все естественно закрыть одной транзакцией. пока не откроеш другой редактировать не сможет, вот только заблокируется вся таблица скорее всего, вернее страница в которой данные.


 
AleKo   (2004-05-12 09:20) [4]

Как я понял в Access блокируется страница и практически вместо одной записи блокируются соседнии.

Может тогда попробовать создать логическое поле в котором указывать считана запись для просмотра/редактирования или нет.


 
Polevi ©   (2004-05-12 09:30) [5]

в 2000 вроде есть блокировка на уровне записи


 
AleKo   (2004-05-12 09:32) [6]

На уровне записи при редактировании есть , а мне нужно заблокировать набор записей от изменений другим пользователем.


 
AleKo   (2004-05-12 09:34) [7]

А есть возможность указать блокировку в операторе SELECT.
Например в FoxPro есть.


 
Polevi ©   (2004-05-12 09:44) [8]

флажок ставь
лучше timestamp, иначе при зависе клиента навеки заблокируешь
при чтении проверяй сколько времени прошло от начала блокировки, предполагая что оная не может длиться больше определеннго интервала
если разница больше интервала - можно занимать


 
AleKo   (2004-05-12 09:50) [9]

>лучше timestamp, иначе при зависе клиента навеки заблокируешь

Это какойто инструмент или просто время блокировки.


 
Polevi ©   (2004-05-12 10:30) [10]

время


 
sniknik ©   (2004-05-12 10:36) [11]

>> лучше timestamp, иначе при зависе клиента навеки заблокируешь
> Это какойто инструмент или просто время блокировки.

timestamp(ib?) в access = now(), можно и time() но переходы дат придется учитывать, сложнее, а размер записи не изменится. что дата что время в access имеют тип datetime.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
1-1084902374
adndryyy
2004-05-18 21:46
2004.05.30
можно *.dcu отредактировать?


1-1085054498
Т_М_П
2004-05-20 16:01
2004.05.30
Как написать символ в Мемо?


14-1083159353
SeriousSam
2004-04-28 17:35
2004.05.30
Помогите выбрать комп


11-1073742406
Phantomaz
2004-01-10 16:46
2004.05.30
Как вкл./откл. выпадание меню по клику на иконке в трее ?


4-1082289411
Torin
2004-04-18 15:56
2004.05.30
Drag&Drop





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский