Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

TDataSetProvider.UpdateMode = upWhereKeyOnly не действует   Найти похожие ветки 

 
AkaSaint   (2003-06-21 15:36) [0]

Сабж в 3-звенном приложении. 2 клиента параллельно изменяют неключевое поле одной и той же записи. Первый клиент применяет обновления удачно, для второго возникают на сервере приложений два исключения EOleException и EDatabaseError с одним и тем же сообщением: "Row cannot be located for updating. Some values may have been changed since it was last read". Значение UpdateMode провайдера проверяю в событии BeforeApplyUpdates. Подскажите, пожалуйста, что я не так делаю.


 
Eugene_e   (2003-06-21 16:42) [1]

В принципе у меня подобное приложение, только более усложнено общение клиента с сервером. Попробовал выполнить похожие действия - обновления произошли без проблем. Может быть стоит указать подробнее - как организовано взаимодействие с БД (единый модуль данных или организация независимых подключений в каждом из COM-модулей), как происходит обновление - средствами TDataSetProvider автоматически или какие-то доп. обработчики?


 
AkaSaint   (2003-06-21 19:41) [2]

Каждый COM-модуль подключается самостоятельно через свой ADOConnection с одинаковой строкой подключения к .mdb-файлу. Обновление происходит средствами TDataSetProvider. Я обнаружил странную закономерность, но понять ее не могу. Если стоит у провайдера ResolveToDataset=True, то эта ошибка есть, если False, то нет. Еще вопрос: что значит единый модуль данных? Я еще новичок в 3-звенной архитектуре.


 
Eugene_e   (2003-06-23 10:07) [3]

В общем это я и хотел понять, что все COM-модули имеют независимые соединения с БД, что впрочем логично. По документации когда ResolveToDataset=True, обновления производятся через DataSet, специфицированный для TDataSetProvider и этот режим нужен, если требуется обработка событий DataSet. В случае False получатся, что Update идет непосредственно по базе, т.е. получается что проблема именно в DataSet. Возможно следует посмотреть его св-ва CursorLocation, CursorType, LockType



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

Форум: "Базы";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-55433
_zerg
2003-06-21 11:15
2003.07.17
Итоговые строки в таблице.


1-55609
Mishenka
2003-07-03 17:04
2003.07.17
Как в Memo записать текстовый файл?


14-55726
paxer
2003-07-02 14:52
2003.07.17
Нужен компонент ввода даты с возможностью ввода пустого значения


1-55647
jel
2003-07-04 10:56
2003.07.17
Помогите разобраться с pipes


1-55522
Buffoon
2003-07-05 01:42
2003.07.17
Как произвести по иск в Checklistbox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский