![]() |
|
|
#1
|
|||
|
|||
|
Привет.
Меня интересует как сделать лучше. Имеется база и к ней написанное приложение. Если один из пользователей вносит изменения, то по идее другой пользователь должен их увидеть. Но когда и как? 1в.) Сделать кнопку обновления, но человек может и забывать обновлять. 2в.)Автоматически при сохранении чегото у всех пользователей обновление. 3в.) Каждый промежуток времени.. Но больше всего меня беспокоит проблема: когда один человек обновляет, другой может работать в это время(перемещать товар, который уже переместил первый человек), и по логике получится второй человек не сможет сохранить адекватно свои изменения т.е. время будет потраченно зря. Подскажите пож. как лучше всего это сделать. |
|
#2
|
||||
|
||||
|
Обновлять надо периодически, скажем каждую секунду. Для компа - это довольно большой промежуток времени. В случае ключевых операций принято блокировать записи участвующие в операции.
|
|
#3
|
|||
|
|||
|
А подскажите пожалуйста как это программно делается, вернее какая команда для блокировки записи для остальных пользователей?
|
|
#4
|
|||
|
|||
|
Зависит от сервера БД.
Например, в Oracle есть специальный формат команды SELECT: Код:
SELECT [ID] FROM [Table] FOR UPDATE NOWAIT |
|
#5
|
||||
|
||||
|
на времы выполенния операции TTable.Exclusive
|
|
#6
|
|||
|
|||
|
lmikle - у меня MySQL, а какая там команда?
NumLock - а если я использую для изменения данных ADOCommand? |
|
#7
|
|||
|
|||
|
Хотябы подскажите где можно подробно почитать об этом? (Как правильно организовывать многопользовательский доступ из приложения, желательно с примером).
|