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

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

удалить записи в таблице DBF


pupspups ©   (2006-11-15 14:49:00) 

Подскажите пожалуйста,

есть таблица в DBF файле. Нужно её очистить от записей.
пишу

Table1.First;
while not Table1.Eof do
begin
Table1.Delete;
end;

Но после этого в DBF происходит не удаление записей а лишь пометка на удаление.
Подскажите как либо сжать, либо другой вариант очистки.


Anatoly Podgoretsky   (2006-11-15 21:23:00) [1]

> pupspups  (15.11.2006 14:49:00)  [0]

Наоборот, происходит именно удаление, не происходит упаковка таблицы, так не одна база этого не делает.


pupspups   (2006-11-15 16:52:00) [2]

спасибо, разобрался


sniknik   (2006-11-15 15:22:00) [3]

а ты попробуй и узнаешь...
вообще ошибка "'Table is busy'" не конкретизирует где, просто говорит - открыта, гдето, а нужна закрытой... весьде.
иначе (если б зависело только от одного) то словил бы "Table is busy Object Ispector-ом"...


pupspups   (2006-11-15 15:03:00) [4]

т.е. в Object Ispectore? я правильно Вас понял.


sniknik   (2006-11-15 14:58:00) [5]

закрой в дельфях (в режиме разработки)


pupspups   (2006-11-15 14:56:00) [6]

при  написание EmptyTable выскакивает ошибка:

ProjectXXX.exe raised exception class EDBEngineError with messgae 'Table is busy'

 Empty вызывал так:
    with Table1 do
    begin
       Active := False;
       TableName := 'Name.dbf';
       TableType := ttDefault;
       EmptyTable;
    end;


clickmaker   (2006-11-15 14:51:00) [7]

EmptyTable?


Наверх

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