Текущий архив: 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