Поиск:

Ответ в темуСоздание новой темы Создание опроса
> wait transaction, как ответить пользователю 
:(
    Опции темы
Delphist
Дата 10.7.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

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



Когда выскакивает ошибка о заблокированной записи SQLCode = -901, c wait transaction. Скажите, пожалуйста, какое лучше всего выдавать универсальное сообщение пользователю.  
Сейчас я выдаю такое:
Код

    Запись изменить нельзя т.к. для нее есть не подтвержденные данные 
    среди открытых справочников или она редактируется другим пользователем.

Но оно мне не нравиться. Да и wait transaction выскакивает не всегда на редактирование записи, а например делаю я копию с группы записей, среди которых есть заблокированная. В итоге выскакивает не очень умное сообщение.
Помогите составить грамотное сообщение.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Akella
Дата 11.7.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



запись заблокирована, т.к. редактируется другим пользователем
PM MAIL   Вверх
Delphist
Дата 11.7.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

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



Цитата(Akella @  11.7.2007,  13:01 Найти цитируемый пост)
запись заблокирована, т.к. редактируется другим пользователем 

Хоршо, а если такое: пользователь открыл справочник1 подправил запись, но commit не сделал, а затем открывает другой справочник2, где есть записи связанные с подправленной ранее, и пытается внести изменения в справочник2, в итоге wait transaction.
В результате у пользователя сообщение, что типа редактирует другой пользователь, а какой тут другой пользователь, если он сам его заблокировал.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Akella
Дата 11.7.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 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.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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