Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по очистке БД [D7, dBase, FoxPro]


vigo ©   (2005-04-28 15:11:00) 

Добрый день.
В програме используется TTabble, которая ссылается tab.dbf (тип dBase for Windows). При выходе очищаю таблицу:
if Table.RecordCount>0 then while not Table.Eof do Table.Delete;
В результате DBGrid отображает пустую таблицу, а открыв файл, напр, WinCMD можно убедится в обратном. Выходит, что файл будет расти как на дрожжах... Как можно решить проблему?


Виталий Панасенко   (2005-04-29 10:28:00) [1]


> Leonid   (29.04.05 09:42) [9]
> Table1.Exclusive:=true;
> Table1.EmptyTable;
>
> Открывать Table1 не обязательно

Попробуй Exclusive поменять на открытом НД.. :-)


Leonid   (2005-04-29 09:42:00) [2]

Table1.Exclusive:=true;
Table1.EmptyTable;

Открывать Table1 не обязательно


ANB   (2005-04-28 16:49:00) [3]


> "монопольный доступ", "монопольный доступ"...
- я думал ты знаешь, и отвлекся на другую тему.


Виталий Панасенко   (2005-04-28 16:29:00) [4]

С тем, что таблица открыта не в эксклюзивном режиме (Exclusive=False а надо True


vigo   (2005-04-28 16:29:00) [5]

Вот ведь...
Нет, чтобы сказать ...Close;...ExmtyTable;...Open;
"монопольный доступ", "монопольный доступ"...
А все-равно спасибо.


vigo   (2005-04-28 16:18:00) [6]

Может подскажите как этот "монопольный доступ" можно обеспечить, что для этого нужно сделать...?


ANB   (2005-04-28 16:16:00) [7]

Для ZAP (именно его иммитирует EmptyTable) нужен монопольный доступ к таблице.


vigo   (2005-04-28 16:08:00) [8]

"Table.EmptyTable
Вот это и больше ничего не надо для данного случая."

При исполнении возникает ошибка:
"Table cannot be opened for exclusive use.'."
С чем это связяано?


Anatoly Podgoretsky   (2005-04-28 15:25:00) [9]

Table.EmptyTable
Вот это и больше ничего не надо для данного случая.


Соловьев   (2005-04-28 15:13:00) [10]

паковать.
bde32.hlp - DbiPackTable

> if Table.RecordCount>0 then while not Table.Eof do Table.Delete;

Table.EmptyTable
или
delete from your_table


Наверх

Титульная страница Поиск, карта сайта Написать письмо