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

Вниз

Глюк в BDE при выполнении UpdateSQL.ApplyUpdates   Найти похожие ветки 

 
Marenich ©   (2003-02-25 21:55) [0]

При сабж. вылазит ошибка " Table cannot be opened for exclusive use."
Держаться больше нету сил... :)
Вот соб-но код ($DELPHI)\Demos\DB\CacheDup\CachedUp.pas:

procedure TCacheDemoForm.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=1 to 1000 do
begin
FDataSet.Append;
FDataSet.Tag:=FDataSet.Tag+1;
FDataSet["PROJ_ID"]:=IntToStr(FDataSet.Tag);
FDataSet["PROJ_NAME"]:="N"+IntToStr(FDataSet.Tag);
FDataSet.Post;
FDataSet.ApplyUpdates;
end;
end;

Примерно через 300 итераций вылазит сабж.
Есть какие-нибудь предложения как это обойти?


 
kaif ©   (2003-02-26 03:20) [1]

Странный код какой-то...
Зачем делать каждый раз ApplyUpdates в цикле?
А если это так необходимо по каким-то причинам, то тогда зачем вообще режим CachedUpdates применять?
И наконец, мне кажется, что ошибка вообще не имеет никакого отношения к CachedUpdates...
Предложение первое и пока единственное.
Убрать CachedUpdates и убедиться, что ошибка связана именно с этим режимом.


 
Marenich ©   (2003-02-26 14:44) [2]

2 kaif
Код для примера.
А реальная ситуация такова:
есть read only TQuery (SQL="SELECT * FROM "TEST.DBF" ORDER BY NAME") + TUpdateSQL.
Query1.CashedUpdate=true, т.к. в противном случае ругается, что
"Cannot modify read-only dataset.".
Нужно, чтобы любое изменение в TQuery гарантированно сохранялось в БД, что соб-но и происходит (для DBF 148 раз, для Pdx - 332 раза), а на 149 (333) раз выдает ошибку на ApplyUpdates. Использование ApplyUpdates и CommitUpdates, или Database.ApplyUpdates([Query1]) сильно тормозит и не помагает.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
6-54149
DoKi
2003-01-27 22:22
2003.03.17
как при подключении к поисковому серверу получить ссылки


7-54327
Lex
2003-01-16 13:38
2003.03.17
Как узнать путь к Internet Explorer?


1-54016
Х
2003-03-04 16:51
2003.03.17
MemoryStream - ошибка при создании


7-54322
Evg12
2003-01-18 13:39
2003.03.17
Уважаемые мастера, Как узнать серийный номер и/или тип материнско


14-54310
Jeka
2003-03-01 15:04
2003.03.17
эмулятор unix