Re[2]: упаковка таблиц в БД вообще
От: JPot  
Дата: 01.12.03 05:10
Оценка: 38 (2)
Здравствуйте, Mazay, Вы писали:

M>Здравствуйте, s.ts, Вы писали:


ST>>Подскажите пожалуйста как упаковать DBF-таблицу (через ado/odbc)

M>мне тоже интересно
M> Тока у меня БД на аксесе, интерфейс в Дельфи сделан, как сделать сжатие таблиц из моей программы.
M> Вопрос волнует уже давно, но ничего толкового найти не могу ((

для ADO/Access
подключаем uses ComObj;


const DBConnect='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s';

function TFormMain.CompactDB(DBFileName:string):boolean;
var A:olevariant;
begin
     if not FileExists(DBFileName) then exit;
     AConnect.Close;
     Application.ProcessMessages;
     A:=CreateOleObject('JRO.JetEngine');
   try
     A.CompactDatabase(Format(DBConnect,[DBFileName]),Format(DBConnect,[DBFileName+'.tmp']));
     if FileExists(DBFileName+'.tmp') then
     begin
          DeleteFile(DBFileName);
          RenameFile(DBFileName+'.tmp',DBFileName);
          Result:=true;
     end;
   except
     Result:=false;
   end;
     A:=UnAssigned;
end;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.