![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Банальный Table is busy [D5, Paradox]
AlexNord © (2003-11-25 07:49:00)
Люди памажите плиз, смарите ситуация, создается 5 табличек и перед созданием удаляется, так вот почему то при удалении пятой Table is busy ? Active в false все действия как с предыдущими 4-мя и только с ней ошибка и нифига не могу сделать, даже удалял с дата модуля компонент TTable и заново создавал, а нифига не помогло!Переставлял винду све с нуля в общем я не знаю ваще уже чего делать.......
AlexNord (2003-11-27 06:14:00) [1]
Всем спасибо за участие, я исправил багу, просто сменил имя таблички физическое, но вот ума не приложу, не могу найти где она зацепилась именно по старому имени...))СПАСИБО ВСЕМ!)
Vovchik_A (2003-11-26 10:32:00) [2]
Где-то табличка твоя однозначно открыта - ищи баг в коде
Anatoly Podgoretsky (2003-11-26 09:20:00) [3]
Вероятно где ни будь в проекте, в каком нибудь модуле есть еще один экземпляр таблицы, открытый, это любимое дело программиста.
AbrosimovA (2003-11-26 09:18:00) [4]
Однозначно занят физический файл, но вопрос: Кем или чем?
Либо у файла атрибут "Только чтение" либо приведи полный код работы с базами.
А проект не секретный, ты бы выслал, а я посмотрел.
AlexNord (2003-11-26 09:07:00) [5]
TableName-тут имя физическое файла таблицы передается - Name_4 - это параметр процедуры...оно передается правильно...
AlexNord (2003-11-26 09:06:00) [6]
нее не помогло...пойду повешусь блин..((( проект замер.(((
AbrosimovA (2003-11-26 08:50:00) [7]
Вот у тебя код:
> DatM.Part5Kotl.Active:=False;
> DatM.Part5Kotl.TableName:=Name_4;
1-я строка закрывает таблицу Name_3.
2-я строка выбирает следующую таблицу Name_4.
Но дальше нет кода для закрытия Name_4.
Попробуй поменять местами 1-ю и 2-ю строки кода.
AlexNord (2003-11-26 08:48:00) [8]
таблиц 5 когда первый раз они создаются все гладко с ними отрабатываются действия и при следующем вызове если не закрыть порграмму при удалении 5-й дается ошибка что она занята пока не пеерзапустишь программу......
AlexNord (2003-11-26 08:30:00) [9]
AbrosimovA Перебробовали с колегами все...Закрыто все везде ...мы непонимаем что это почему так именно с этой таблой...(
AbrosimovA (2003-11-26 08:25:00) [10]
А ты точно выполнил рекомендации
> chtr © (25.11.03 08:47) [5]
> Закрой делфи и запусти EXE
.
Нужно закрыть ещё и Database Desktop, SQL Explorer и т.д.
И ещё. Я не совсем понял - у тебя 5 таблиц или 12?
AlexNord (2003-11-26 00:53:00) [11]
Я пробовал и в False его и в True, по барабану ему все...
AbrosimovA (2003-11-25 12:59:00) [12]
А exclusive в каком состоянии на момент удаления?
AlexNord (2003-11-25 12:15:00) [13]
Открыта или закрыта это Active ?? естесно оно в False ....
AbrosimovA (2003-11-25 11:17:00) [14]
Перед удалением делай проверку - открыта или нет таблица.
Если закрыта - удаляй, если открыта - закрывай и удаляй.
AlexNord (2003-11-25 09:31:00) [15]
а строка имя иднамическое взависимости от месяца может быть Part5Kotl1.db, Part5Kotl2.db и так далее до 12...TableName динамически присваивается....
AlexNord (2003-11-25 09:19:00) [16]
Не не выходит все равно..( ЮЮ © (25.11.03 09:06) [8]
ЮЮ (2003-11-25 09:06:00) [17]
>Нет для всех 5-ти свои
зачем тогда строка DatM.Part5Kotl.TableName:=Name_4;?
>создается 5 табличек и перед созданиемудаляется,
Все TableName следует установить в Инспекторе, а все Active установить в False. А Table.Open делать только в коде
AlexNord (2003-11-25 08:55:00) [18]
С ексешником тоже самое.....(
AlexNord (2003-11-25 08:53:00) [19]
"Ты используешь один компонент DatM.Part5Kotl для оаботы со всеми 5-ю таблицами?"
Нет для всех 5-ти свои ....
chtr (2003-11-25 08:47:00) [20]
Закрой делфи и запусти EXE