![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
корректная очистка таблицы [D5, dBase, FoxPro]
CODC © (2002-06-05 06:31:00)Добрый день утро вечер уважаемые.Вопрос : как корректно очистить таблицу(*.dbf)аналог Database desktop (Utilites->Empty->...)пробывал Table1.Delete но он удаляет только визуально...через Query делать delete тоже не то... пробую через Datamodule, получается но я не хочу с ним связываться а как проще низнаю ...подскажите...
Praco (2002-06-05 13:31:00) [1]А если Table is BUSY, то
Exclusive := true;
EmptyTable;
Nikolay M. © (05.06.02 13:18)
"И не связывайся TTable."
????
Наоборот, не связывайся с TQuery для локальных таблиц. TTable гораздо быстрее.
Nikolay M. (2002-06-05 13:18:00) [2]
> через Query делать delete тоже не то...
как это не то?!
DELETE FROM MyTable - что здесь "не то"?
И не связывайся TTable: на каждый подобный метод ТTable найдется запрос SQL, для того он и существует. И не будет ошибок типа "Table is BUSY".
> пробую через Datamodule
DataModule - это, просто говоря, удобное хранилище компонент TDatabase, TQuery, TTable, etc. Удалять данные с помощью собственно DataModule нельзя.
Не понял смысла слов "корректно очистить", но догадываюсь, что может помочь такой обычный прием:
1) создаем новую таблицу такой же структуры: CREATE TABLE NewTable (...)
2) удаляем старую забэкапленную таблицу: DROP TABLE BackupTable
3) переименовываем текущую в бэкап: ALTER TABLE CurrentTable RENAME BackupTable
4) новую делаем текущей: ALTER TABLE NewTable RENAME CurrentTable
Т.е. в создаваемой в (1) таблице заново создаются индексы, нет никакого мусора - таблица действительно пустая.
CODC (2002-06-05 12:26:00) [3]Table is BUSY
Anatoly Podgoretsky (2002-06-05 07:32:00) [4]Все корректно, если корректно поставить вопрос, если в результате тебе нужна абсолютно чистая таблица, то или как указала fnatali или воссоздание таблицы с нуюя, если же тебе надо удалять не все записи, а выборочно, то Delete и последующая упаковка в удобное время.
fnatali (2002-06-05 07:09:00) [5]Table1.EmptyTable.