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

Вниз

Что может вызывать блокирование записи?   Найти похожие ветки 

 
Aleksandr ©   (2002-11-26 16:37) [0]

Суть проблемы такова - поток создает TTable, присваивает ее DataBaseName путь к файлу таблицы, открывает, вставляет туда запись, сохраняет и уничтожает. Когда при следующем прохождении этого потока создаешь TTable, открываешь ее, находишь вставленную запись Locate, а потом пытаешься сделать ей Edit - БДЕ смертельно обижается и пишет, что record locked by another user. Она же была закрыта и - абсолютно точно - уничтожена, перед тем как пересоздаться заново... Может, тут что-то с сессией надо сделать?


 
Johnmen ©   (2002-11-26 17:07) [1]

Если сделать вставку в рамках единой транзакции - БДЕ, скорее всего, не будет обижаться :)))
Да и сессия д.б. одна...


 
Shaman ©   (2002-11-26 17:20) [2]

BDE кэширует таблицы и записывает их окончательно на диск только при закрытии сессии или при специальном вызове функции BDE API Как функция называется точно не помню, нашел ее в хелпе по BDE API


 
Aleksandr ©   (2002-11-26 17:29) [3]

Не совсем понял насчет единой транзакции - это же не SQL? Но все равно спасибо, счас попробую покопать... Странно, я полагал, что с закрытием таблицы все энти динамические сессии и датабазы, создаваемые бдей, сами закроются нафиг...


 
Romkin ©   (2002-11-26 17:48) [4]

Поток должен работать со своей TSession & TDatabase, и закрывать их по окончании работы (создавать эти компоненты надо в Execute, разумеется), а у TSession установить AutoSessionName - для этого и надо



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-51726
Th
2002-12-05 18:49
2002.12.16
Вставка своего компонента в TOpenDialog


14-51919
Pan
2002-11-25 12:17
2002.12.16
Не могу попасть в regedit (win98)


1-51705
Чайник
2002-12-03 15:06
2002.12.16
Заголовок у HTML


3-51636
Vacula
2002-11-27 19:26
2002.12.16
ADO+Access


3-51630
Sergey_Suhoy
2002-11-27 10:44
2002.12.16
Переименование полей на DBGrid & обработка ошибки Key Violation