Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Блокировка записи в TQuery-- TUpdateSQL.   Найти похожие ветки 

 
KonuhovSegey   (2003-01-23 07:46) [0]

Кто знает как заблокировать запись для редактирования в TQuery c включенными кэшированными изменениями, и подключенным TUpdateSQL.

Если отключаешь кэшированные изменения, то он блокируется автоматически, для простых запросов, а у меня есть запросы с несколькими таблицами. Т.е. их можно обновить только через кэшированные изменения и TUpdateSQL. Но тогда запись не блокируется, т.е. могут быть конфликты обновления.


 
ЮЮ   (2003-01-24 07:05) [1]

В чём конфликт то? Кто последний сохранится ( еслм в Where стоит только ключевое поле), тот и прав. Если же в Where поставить все поля записи, то, наоборот , сохранится только первый.


 
KonuhovSegey   (2003-01-24 12:53) [2]

Мне необходимо именно заблокировать запись,
Что бы никто другой и не смог начать ее изменять,
т.к. изменений может быть много и если они потеряются, то это плохо.
Или найти надежный способ проверить, не изменяется ли кем-то эта запись.


 
Ops   (2003-01-24 13:19) [3]

Посади TQuery на транзакцию которая блокирует записи при считывании... Может так получится...
просто невидно на таблице никак до Applay и Commmit изменения


 
KonuhovSegey   (2003-01-24 18:29) [4]

А какие параметры транзакции необходимо установить для Paradox, чтобы она блокировала.
И как в нем отдельный TQuery, подсоеденить к такой транзакции, а остальные к неблокирующей.
В IB да, а в Paradox ???


 
ЮЮ   (2003-01-25 03:05) [5]

>Мне необходимо именно заблокировать запись,
Что бы никто другой и не смог начать ее изменять,
т.к. изменений может быть много и если они потеряются, то это плохо.

Плохо то, что у нескольких пользователей вдруг возникло желание править одну и ту же запись :-). То есть это означает, что у нескольких пользователь на руках одновременно имеется один и тот же "документ", но в нём совершенно различные данные?

>Или найти надежный способ проверить, не изменяется ли кем-то эта запись.

Если уж создал такую "конфликтную" структуру, то и создавай свой механизм "разрешения конфликтов", например "Таблицу заблокированных записей"


 
KonuhovSegey   (2003-01-30 14:33) [6]

У пользователей недолжно возникать желания изменять один и тот же документ. Но хотелось бы исключить такую возможность.
Если использовать TTable вместо TQuery-->TUpdateSQL, то все работает автоматически, но требуется и именно так.



 
MsGuns   (2003-01-30 14:40) [7]

>KonuhovSegey (30.01.03 14:33)

Что бы ты не пытался сделать, чтобы исключить подобные ситуации (редактирование одного "документа" с двух и более мест), все равно все это не приведет к результату, если не будут действовать администативные правила работы с БД. Я лично намертво усвоил это постулат лет через много после подобных "попыток".



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.01 c
1-52863
Blondin
2003-02-07 17:58
2003.02.17
Сравнение двух файлов


3-52707
b_baranov
2003-01-31 20:02
2003.02.17
Объединение таблиц


1-53031
Pat
2003-02-09 15:31
2003.02.17
Отчет в MSWord97


14-53241
nick-from
2003-01-30 16:59
2003.02.17
Смена имени домена


1-52818
anbezr
2003-02-07 11:38
2003.02.17
Надо ли уничтожать TStringList





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский