Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Блокировка записей БД при редактировании 
:(
    Опции темы
zav74
Дата 25.5.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Сейчас встал вопрос о совместном использовании БД. В 1С вроде(сам не умею пользоваться), если один пользователь редактирует данные, другие не имеют доступ к ним. Как это организуется? А также, как пограмотнее узнавать об изменениях, сделанных другими пользователями, для обновления списка подгруженных данных? У меня есть кое-какие предположения, но, подозреваю, придется помучиться для отработки технологии. Может кто-нибудь подтолкнёт в нужном направлении.
PM MAIL   Вверх
lelik133
Дата 26.5.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 2
Всего: 14



Насчет блокировки завести в таблице столбец Edit enum('0','1') как только пользователь UserName открывает для редактирования запись ставить флаг в '1' соответственно остальным пользователям если Edit=1 давать только просматривать запись, и не выводить форму для редактирования. Как только UserName  сохранил изменения обратно в 0. Но здесь есть проблема если UserName открыл форму редактирования и ушел. Тогда возможно по таймеру сбасывать Edit  в 0, а пользователю UserName  перегружать форму с сообщением что его время редактирования истекло, и ему надо снова открыть запись.
PM ICQ   Вверх
zav74
Дата 26.5.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Насчет таймера, а где его запускать, если в приложении редактирующего, он тогда аварийно выйдет из приложения и таймер не сработает или соединение глюкнет? Плюс, не знаю еще, надо ли хранить имя пользователя, заблокирующего запись(а может еще и время блокировки для ее снятия с другого клиента)?
PM MAIL   Вверх
lelik133
Дата 26.5.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 2
Всего: 14



время начала редактирования конечно надо хранить, чтобы отсчитывать таймаут.
остальное зависит от реализации, это относиться скорее к тому языку на которым вы будите разрабатывать приложение, а не к БД
PM ICQ   Вверх
zav74
Дата 26.5.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Разрабатываю в Visual C++. Как сделать отдельные элементы-это я знаю. Мне интересно, как принято это делать в рабочих системах, чтобы с чего то начать. Просто, так быстрее наверно получится. Может у кого-нибудь ссылка есть.
PM MAIL   Вверх
lelik133
Дата 27.5.2009, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 2
Всего: 14



с этим вопросом вам скорее в раздел по с++, чем по mysql
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.