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

Вниз

Table is busy - проблема   Найти похожие ветки 

 
DmitryZ ©   (2004-12-03 12:31) [0]

На форме:TDataBase, TTable (Table1), TQuery (Query1),TUpdateSQL, TDAtaSource,TDBGrid,  TDBNavigator, TButton и TEdit (Edit1);
Данные из Edit1 попадают в Query1 (работа с TQuery вызвана необходимостью, долго объяснять для чего)  посредством UpdateSQL по нажатии кнопки Button2 :

procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Open;
Query1.Append;
Query1.FieldByname("KOD").asinteger:=123;
Query1.FieldByname("poln").asstring:=Edit1.Text;
 with Query1 do
 begin
 Database1.StartTransaction;
   try
     ApplyUpdates;
     Database1.Commit;
   except
     Database1.Rollback;
   raise;
   end;
 CommitUpdates;
 end;
Query1.Close;
Query1.Open;
end;

Затем при закрытии формы пытаюсь запаковать таблицу TTable (этот компонент находится на форме только для этой цели)

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.close;
Table1.close;
Table1.Exclusive := True;
Table1.Open;
Check(DbiPackTable(Table1.Dbhandle, Table1.Handle, nil, szDBASE, FALSE));
Table1.Close;
end;

Суть проблемы:
Как только дело доходит до Table1.Open выводится сообщение : "Table is busy" и Query1.Close и Table1.Close не помогают. Изначально на форме Table и Query закрыты
Проблема возникает только в том случае, если перед этим вызывался метод Qury1.ApplyUpdates или Qury1.СommitUpdates в по нажатии Button2. Если их заремарить, то все нормально, но без них нельзя :(

Подскажите кто-нибудь, как мне осободить таблицу, ибавиться от  "Table is busy" ?
Спасибо


 
VICTOR_   (2004-12-04 14:01) [1]

Если запускаеш из Delphi то сообщение правильное. Table1 у тебя не может быть Exclusive(ее держит кроме твоей программы еще и Delhi). Попробуй просто запустить Exe при закрытом Delphi


 
sniknik ©   (2004-12-04 14:12) [2]

а лучше вовсе не держать открытых таблиц/баз в режиме разработки (открывать при старте в самой программе).



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
14-1102880798
k@rt
2004-12-12 22:46
2005.01.02
Программа по подсчету трафа


14-1103161380
avk02
2004-12-16 04:43
2005.01.02
Для FAQ (Питеру?). Пример, как написать прокси:.


1-1103205543
tradakad
2004-12-16 16:59
2005.01.02
Динамическое измение иконки в PopupMenu


14-1102758304
Vasya.ru
2004-12-11 12:45
2005.01.02
А где можно найти что - то вроде "Единой базы процедур и функций"


3-1102261157
sunvit
2004-12-05 18:39
2005.01.02
Как сохранить изменения на сервере Oracle