Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

корректная очистка таблицы   Найти похожие ветки 

 
CODC   (2002-06-05 06:31) [0]

Добрый день утро вечер уважаемые.Вопрос : как корректно очистить таблицу(*.dbf)аналог Database desktop (Utilites->Empty->...)пробывал Table1.Delete но он удаляет только визуально...через Query делать delete тоже не то... пробую через Datamodule, получается но я не хочу с ним связываться а как проще низнаю ...подскажите...


 
fnatali ©   (2002-06-05 07:09) [1]

Table1.EmptyTable.


 
Anatoly Podgoretsky ©   (2002-06-05 07:32) [2]

Все корректно, если корректно поставить вопрос, если в результате тебе нужна абсолютно чистая таблица, то или как указала fnatali или воссоздание таблицы с нуюя, если же тебе надо удалять не все записи, а выборочно, то Delete и последующая упаковка в удобное время.


 
CODC   (2002-06-05 12:26) [3]

Table is BUSY


 
Nikolay M. ©   (2002-06-05 13:18) [4]


> через 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) таблице заново создаются индексы, нет никакого мусора - таблица действительно пустая.


 
Praco ©   (2002-06-05 13:31) [5]

А если Table is BUSY, то

Exclusive := true;
EmptyTable;

Nikolay M. © (05.06.02 13:18)
"И не связывайся TTable."
????

Наоборот, не связывайся с TQuery для локальных таблиц. TTable гораздо быстрее.



Страницы: 1 вся ветка

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-88905
Alex
2002-06-14 17:06
2002.06.27
Transperency


1-88929
Korona
2002-06-14 20:26
2002.06.27
TForm1.Create(Screen)


4-89076
Deus
2002-04-29 18:14
2002.06.27
Как получить handle окна, имеющего фокус ввода?


3-88770
Anics
2002-06-05 09:04
2002.06.27
Удаление двойных записей через запрос SQL


14-89006
McSimm
2002-05-24 12:18
2002.06.27
Задачка