|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2006, 13:36 | #1 |
Новичок
Джуниор
Регистрация: 15.11.2006
Сообщений: 2
|
удалить записи в таблице Dbf.
Подскажите пожалуйста,
есть таблица в DBF файле. Нужно её очистить от записей. пишу Table1.First; while not Table1.Eof do begin Table1.Delete; end; Но после этого в DBF происходит не удаление записей а лишь пометка на удаление. Подскажите как либо сжать, либо другой вариант очистки. |
15.11.2006, 16:04 | #2 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
Table.Post - изменения записываются в базу;
Table.Cancel до этого - отмена изменений.
Берегите друг друга!
Последний раз редактировалось Virtson; 15.11.2006 в 16:22. |
28.11.2006, 12:07 | #3 |
Регистрация: 28.11.2006
Сообщений: 4
|
Чтобы удалить из *.dbf записи, помеченные на удаление, нужно сделать:
table1.Сlose; table1.exclusive:= true; table1.Open; dbipacktable(table1.dbhandle,table1 .Handle,nil,nil,false); table1.Сlose; не забудь в Uses прописать BDE. Удачи.
Пусть о себе мнит каждый, что хочет. /Овидий/
|
28.11.2006, 12:48 | #4 |
Пользователь
Регистрация: 06.11.2006
Сообщений: 51
|
Для твоего случая есть такой пример (из хелпа):
with Table1 do begin Active := False; DatabaseName := 'Delphi_Demos'; TableName := 'CustInfo'; TableType := ttParadox; EmptyTable; end; Естественно 2,3,4 свойство можешь задавать еще в редакторе для свего Table. |
28.11.2006, 13:03 | #5 |
Регистрация: 28.11.2006
Сообщений: 4
|
Человек ведь задавал вопрос относительно DBF файлов а не Paradox.
В таблицах Paradox записи и так исчезают из таблицы, а в DBF они помечаются для удаления и полностью удаляются только если упаковать таблицу (dbipacktable).(Конечно, если нужно полность удалить все записи, тогда просто вызвать Table1.EmptyTable;) После пакования таблицы рекомендуется её переиндексировать dbiregenindexes(Table1.Handle);
Пусть о себе мнит каждый, что хочет. /Овидий/
|
28.11.2006, 13:20 | #6 |
Пользователь
Регистрация: 06.11.2006
Сообщений: 51
|
|
15.12.2006, 13:43 | #7 |
Регистрация: 20.11.2006
Сообщений: 5
|
Пример:
Query1.SQL.ADD('DELETE FROM "MyTable" Table1'); |
15.12.2006, 19:19 | #8 |
Армия Рассейская
Форумчанин
Регистрация: 06.12.2006
Сообщений: 175
|
table1.executive:=true;
table1.emptyTable; table1.executive:=false;
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить 2 записи. ADO... | Roof | БД в Delphi | 9 | 18.08.2008 20:32 |
поиск в таблице | puma | Помощь студентам | 3 | 22.04.2008 23:56 |
Подскажите как программно удалить все записи | Worms | БД в Delphi | 3 | 04.03.2008 16:30 |
Поиск в таблице | Voffka | БД в Delphi | 1 | 08.05.2007 01:16 |
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить | Alar | Общие вопросы Delphi | 0 | 29.10.2006 21:36 |