| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > wait transaction |
| Автор: Delphist 10.7.2007, 14:32 | ||
| Когда выскакивает ошибка о заблокированной записи SQLCode = -901, c wait transaction. Скажите, пожалуйста, какое лучше всего выдавать универсальное сообщение пользователю. Сейчас я выдаю такое:
Но оно мне не нравиться. Да и wait transaction выскакивает не всегда на редактирование записи, а например делаю я копию с группы записей, среди которых есть заблокированная. В итоге выскакивает не очень умное сообщение. Помогите составить грамотное сообщение. |
| Автор: Akella 11.7.2007, 12:01 |
| запись заблокирована, т.к. редактируется другим пользователем |
| Автор: Delphist 11.7.2007, 13:40 |
Хоршо, а если такое: пользователь открыл справочник1 подправил запись, но commit не сделал, а затем открывает другой справочник2, где есть записи связанные с подправленной ранее, и пытается внести изменения в справочник2, в итоге wait transaction. В результате у пользователя сообщение, что типа редактирует другой пользователь, а какой тут другой пользователь, если он сам его заблокировал. |
| Автор: Akella 11.7.2007, 15:06 | ||
| запомни хорошее правило: пишущая транзакция должна быть минимальна по времени! Добавлено через 3 минуты и 21 секунду Ннаверное, понятнее было бы так: физически редактирование записи должно быть минимальным по времени. Представь, что пользователь открыл форму редактирование, где при создании формы у тебя Dataset.Edit... Лучше так: 1. Открываем форму и читаем данные в контролы 2. Пользователь меняет данные 3. по нажатию не кнопку происходит 3.1 edit 3.2 запись данные 3.3 post Добавлено через 3 минуты и 59 секунд Ну или
Добавлено через 5 минут и 47 секунд Можно проверять подтверждена ли предыдущая транзакция и, соответственно, разрешать редактировать др. справочник или нет. Но советую делать как можно проще для пользователя, чтобы он не заморачивался с подтвержденим транзакций каждый раз. Лучше AutoCommit. |