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

Вниз

Банальный Table is busy   Найти похожие ветки 

 
AlexNord   (2003-11-25 07:49) [0]

Люди памажите плиз, смарите ситуация, создается 5 табличек и перед созданием удаляется, так вот почему то при удалении пятой Table is busy ? Active в false все действия как с предыдущими 4-мя и только с ней ошибка и нифига не могу сделать, даже удалял с дата модуля компонент TTable и заново создавал, а нифига не помогло!Переставлял винду све с нуля в общем я не знаю ваще уже чего делать.......


 
ZHK ©   (2003-11-25 08:08) [1]

Если Active в False, это означает, что таблица занята другим приложением, например отладчиком Delphi. Попробуй запустить программу без отладчика, либо ищи, какой компонент еще открывает у тебя таблицу. А вообще в таких случаях лучше код кидать.


 
chtr ©   (2003-11-25 08:08) [2]

Попробуй в design time active:=false?
Может поможет?


 
AlexNord   (2003-11-25 08:40) [3]

Я выключаю Active перед удалением, иначе ошибку даст...друиге приложения не трогают ее, все происходит в разрезе одного модуля...странно что теже действия с рдугими таблицами проходят а с этой ну никак..(
DatM.Part5Kotl.Active:=False;
DatM.Part5Kotl.TableName:=Name_4;
if DatM.Part5Kotl.exists then DatM.Part5Kotl.DeleteTable;<-тут ошибку дает...


 
ЮЮ ©   (2003-11-25 08:46) [4]

Ты используешь один компонент DatM.Part5Kotl для оаботы со всеми 5-ю таблицами?


 
chtr ©   (2003-11-25 08:47) [5]

Закрой делфи и запусти EXE


 
AlexNord   (2003-11-25 08:53) [6]

"Ты используешь один компонент DatM.Part5Kotl для оаботы со всеми 5-ю таблицами?"
Нет для всех 5-ти свои ....


 
AlexNord   (2003-11-25 08:55) [7]

С ексешником тоже самое.....(


 
ЮЮ ©   (2003-11-25 09:06) [8]

>Нет для всех 5-ти свои
зачем тогда строка DatM.Part5Kotl.TableName:=Name_4;?

>создается 5 табличек и перед созданием удаляется,

Все TableName следует установить в Инспекторе, а все Active установить в False. А Table.Open делать только в коде


 
AlexNord   (2003-11-25 09:19) [9]

Не не выходит все равно..( ЮЮ © (25.11.03 09:06) [8]


 
AlexNord   (2003-11-25 09:31) [10]

а строка имя иднамическое взависимости от месяца может быть Part5Kotl1.db, Part5Kotl2.db и так далее до 12...TableName динамически присваивается....


 
AbrosimovA   (2003-11-25 11:17) [11]

Перед удалением делай проверку - открыта или нет таблица.
Если закрыта - удаляй, если открыта - закрывай и удаляй.


 
AlexNord   (2003-11-25 12:15) [12]

Открыта или закрыта это Active ?? естесно оно в False ....


 
AbrosimovA   (2003-11-25 12:59) [13]

А exclusive в каком состоянии на момент удаления?


 
AlexNord   (2003-11-26 00:53) [14]

Я пробовал и в False его и в True, по барабану ему все...


 
AbrosimovA   (2003-11-26 08:25) [15]

А ты точно выполнил рекомендации
> chtr © (25.11.03 08:47) [5]
> Закрой делфи и запусти EXE
.
Нужно закрыть ещё и Database Desktop, SQL Explorer и т.д.
И ещё. Я не совсем понял - у тебя 5 таблиц или 12?


 
AlexNord   (2003-11-26 08:30) [16]

AbrosimovA Перебробовали с колегами все...Закрыто все везде ...мы непонимаем что это почему так именно с этой таблой...(


 
AlexNord   (2003-11-26 08:48) [17]

таблиц 5 когда первый раз они создаются все гладко с ними отрабатываются действия и при следующем вызове если не закрыть порграмму при удалении 5-й дается ошибка что она занята пока не пеерзапустишь программу......


 
AbrosimovA   (2003-11-26 08:50) [18]

Вот у тебя код:

> DatM.Part5Kotl.Active:=False;
> DatM.Part5Kotl.TableName:=Name_4;

1-я строка закрывает таблицу Name_3.
2-я строка выбирает следующую таблицу Name_4.
Но дальше нет кода для закрытия Name_4.
Попробуй поменять местами 1-ю и 2-ю строки кода.


 
AlexNord   (2003-11-26 09:06) [19]

нее не помогло...пойду повешусь блин..((( проект замер.(((


 
AlexNord   (2003-11-26 09:07) [20]

TableName-тут имя физическое файла таблицы передается - Name_4 - это параметр процедуры...оно передается правильно...


 
AbrosimovA   (2003-11-26 09:18) [21]

Однозначно занят физический файл, но вопрос: Кем или чем?
Либо у файла атрибут "Только чтение" либо приведи полный код работы с базами.
А проект не секретный, ты бы выслал, а я посмотрел.


 
Anatoly Podgoretsky ©   (2003-11-26 09:20) [22]

Вероятно где ни будь в проекте, в каком нибудь модуле есть еще один экземпляр таблицы, открытый, это любимое дело программиста.


 
Vovchik_A ©   (2003-11-26 10:32) [23]

Где-то табличка твоя однозначно открыта - ищи баг в коде


 
AlexNord   (2003-11-27 06:14) [24]

Всем спасибо за участие, я исправил багу, просто сменил имя таблички физическое, но вот ума не приложу, не могу найти где она зацепилась именно по старому имени...))СПАСИБО ВСЕМ!)



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

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

Наверх




Память: 0.51 MB
Время: 0.014 c
7-62302
truntaev
2003-10-10 21:52
2003.12.19
как дать привелегии на перегрузку или отключение?


14-62229
GPRS
2003-11-25 17:58
2003.12.19
Тем кто пользуется GPRS


14-62277
ИМХО
2003-11-24 15:47
2003.12.19
CRIME STORY


1-62153
Don
2003-12-06 16:53
2003.12.19
Помогите с WebBrowser1


1-62127
Mistic
2003-12-09 14:36
2003.12.19
цвет строки в ListBox