|
|
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
Вот и приплыл:( Сидят 4 юзера и пользуют один и тот же список (форма у всех одинаковая, да и задача, впрочем тоже). Очень не хотелось бы, чтобы разные юзеры вносили одни и те же данные. В моем случае речь идет о бронировании гостинничных номеров. Т.е. №1026 - свободен (и все 4 юзера видят его в списке) Первый нажал "Забронировать"... Второй нажал "Забронировать"... ... Фигня получается:( Подскажите как организовать процесс?:) Может написать проверку из серии "SELECT...FROM...WHERE", но как ее вставить в запрос на добавление (апдейт)? Или есть еще идеи?:) Geen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 09:51 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
обязательно надо проверять я бы сделала так повесила проверку на beforeUpdate и если забронировал кто-то ,то давать месадж кто из операторов забронировал и время (чтобы у пользователей лишних вопросов не было) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 10:06 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
бронирование должно выполняться отдельной процедурой, никак не завязанной на значения полей формы (я имею ввиду статус бронирования с формы нельзя брать).\r В этой процедуре в одной транзакции проверяется текущий статус ( SELECT с UPDLock, чтобы дургой процесс не мог сделать свой SELECT между твоим SELECT и UPDATE), если он "свободен", то делает UPDATE (ну или INSERT, как там у тебя устроено не знаю), заканчивается транзакция.\r Но я бы всё таки организовал систему явной очереди (SELECT с UPDLock это тоже очередь, но как бы неявная). То есть функция бронирования начинается с того, что хочет захватить ресурс "бронирования". Если ей это не удается (значит другой процесс сейчас производит "бронирование") - она ставится в очередь и ждет, через некоторое время пробует снова. Если ей это удается, то ресурс захвачен и все остальные будут ждать, пока функция его не отпустит. Теперь внутри функции можно делать разнообразные проверки, бронирования и т.д. В конце функция "отпускает" ресурс. \r Как организовать очередь в случ. SQL Server - прислушайтесь к концепции Глеба Уфимцева (/topic/3293 ) (если SQL 2000 то можно юзать sp_getapplock). \r В случ. Access очередь можно оранизовать с пом. монопольного (dbDenyWrite) открытия какойнть служ. таблицы (просто сделать табл. и добавлять туда запись при установлении блокировки и потом удалять при снятии нельзя - надо отслеживать критические ситуации типа неожиданного выключения компьютера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 11:45 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
Access2000+MSSQL2000 Как все сложно:((( Может у кого есть примеры?:) Geen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 12:25 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
Не умоляя достоинств предыдущих ораторов: просто другая идея (уж извиняйте, если что не так :) Может в триггере на Обновление проверять столбец статус и в случае, если он уже содержит статус "Забронировано" просто давать свой raiseerror, котроый отследить в программе и выдать соответсвующее сообЧение + обновить поле статус? Как маленький со всем не отлаженный пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Ну и правльно выставить режим блокировки не забыть Да и тип триггера выбрать правильно (возможно будет удобен INSTED OF) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 12:41 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
Проблема еще и в том, что я еще не написал ни одной процедуры в жизни:( А уж тем более никогда не вызывал их (например по KeyCode =13):( Тут с самого начала помогать мне надобно:) Geen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 13:13 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
Что-то тихо стало:( Geen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 16:07 |
|
||
|
4 юзера (как организовать работу со списком)?:)
|
|||
|---|---|---|---|
|
#18+
2 Geen Проблема еще и в том, что я еще не написал ни одной процедуры в жизни:( А уж тем более никогда не вызывал их (например по KeyCode =13):( Тут с самого начала помогать мне надобно:) Книга тебе в помощь. В стольном городе никаких проблем с этим быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 16:48 |
|
||
|
|

start [/forum/search_topic.php?author=igor_fxp&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 1576ms |
| total: | 1778ms |

| 0 / 0 |
