![]() |
|
|
![]()
|
|
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Когда выскакивает ошибка о заблокированной записи SQLCode = -901, c wait transaction. Скажите, пожалуйста, какое лучше всего выдавать универсальное сообщение пользователю.
Сейчас я выдаю такое:
Но оно мне не нравиться. Да и wait transaction выскакивает не всегда на редактирование записи, а например делаю я копию с группы записей, среди которых есть заблокированная. В итоге выскакивает не очень умное сообщение. Помогите составить грамотное сообщение. -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
запись заблокирована, т.к. редактируется другим пользователем
|
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 1 Всего: 3 |
Хоршо, а если такое: пользователь открыл справочник1 подправил запись, но commit не сделал, а затем открывает другой справочник2, где есть записи связанные с подправленной ранее, и пытается внести изменения в справочник2, в итоге wait transaction. В результате у пользователя сообщение, что типа редактирует другой пользователь, а какой тут другой пользователь, если он сам его заблокировал. -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
запомни хорошее правило: пишущая транзакция должна быть минимальна по времени!
Добавлено через 3 минуты и 21 секунду Ннаверное, понятнее было бы так: физически редактирование записи должно быть минимальным по времени. Представь, что пользователь открыл форму редактирование, где при создании формы у тебя Dataset.Edit... Лучше так: 1. Открываем форму и читаем данные в контролы 2. Пользователь меняет данные 3. по нажатию не кнопку происходит 3.1 edit 3.2 запись данные 3.3 post Добавлено через 3 минуты и 59 секунд Ну или
Добавлено через 5 минут и 47 секунд Можно проверять подтверждена ли предыдущая транзакция и, соответственно, разрешать редактировать др. справочник или нет. Но советую делать как можно проще для пользователя, чтобы он не заморачивался с подтвержденим транзакций каждый раз. Лучше AutoCommit. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |