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

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

Упаковка файлов DBF [D6, dBase, FoxPro]


borg ©   (2003-05-13 09:03:00) 

Подскажите есть ли в DELPHI аналог команды pack из FOXPRO, то есть необходимо доконца удалять данные, а не помечатьт их как удалённые как это делается table1.delete.


MikeS   (2003-05-15 08:42:00) [1]

С древних времен известен универсальный способ упаковки:
1. Создаем таблицу2 с аналогичной структурой
2. Проход циклом по упаковываемой таблице с копированием записей в таблицу2
3. Удаляем таблицу1
4. Переименовываем таблицу2 в таблицу1


Melnyk   (2003-05-14 11:57:00) [2]

Удалено модератором
Примечание: Задай вопрос в СВОЕЙ ветке


Stray   (2003-05-13 12:50:00) [3]

Проблема легко решается если используешь BDE. А если нет? Я предпочитаю ADO. Пробовал решить проблему вот так:
...
dbfConnect: TADOConnection;
cmdPackTbl: TADOCommand;
...
dbfConnect.Connected := false; // обязательно необходимо
dbfConnect.Connected := true; // переконектиться
cmdPackTbl.CommandText := "pack total";
cmdPackTbl.execute;

в 2000 винде действует, а вот в 98 вроде как нет. К сожалению искать причину небыло времени. Так как особой надобности в упаковке не имел.
DSN Driver = Microsoft Visual Foxpro


Соловьев   (2003-05-13 09:26:00) [4]

Удалено модератором
Примечание: Задай вопрос в СВОЕЙ ветке


evg28   (2003-05-13 09:17:00) [5]

try
TableServ.Close;
TableServ.Exclusive:= true;
TableServ.Open;
DbiPackTable(TableServ.DBHandle, TableServ.Handle, nil, nil, TRUE ) ;
TableServ.Close;
TableServ.Exclusive:= false;
TableServ.Open;
TableServ.First;
except
end;


VAleksey   (2003-05-13 09:11:00) [6]

uses bde;
dbipacktable...
описание в bde32.hlp


Наверх

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