首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi怎么物理删除DBF数据

2012-10-05 
delphi如何物理删除DBF数据delphi如何物理删除DBF数据[解决办法]删除以后,需要pack一下,pack之前需要断开

delphi如何物理删除DBF数据
delphi如何物理删除DBF数据

[解决办法]
删除以后,需要pack一下,pack之前需要断开数据联接
老代码了,试试看行否

Delphi(Pascal) code
{***************************************************************** Unit Name: unAccessTools* Purpose  : Provide tools to compact and repair Access database.*****************************************************************}unit unAccessTools;interfaceuses Sysutils,ComObj,Dialogs;function DaoActive(var DaoObject:OleVariant):Boolean;function DaoCompactDB(const FileName:string):Boolean;function DaoRepairDB(const FileName:string):Boolean;implementationfunction DaoActive(var DaoObject:OleVariant):Boolean;begin  Result:=False;  try    DaoObject:=GetActiveOleObject('DAO.DBEngine.36');    Result:=True;  except    try      DaoObject:=CreateOleObject('DAO.DBEngine.36');      Result:=True;    except      DaoObject:=Null;    end;  end;end;//压缩Access数据库function DaoCompactDB(const FileName:string):Boolean;var  db:OleVariant;  TempFile:string;begin  Result:=False;  try    if not DaoActive(db) then      Exit;    try      TempFile:=ExtractFilePath(FileName)+'msaTemp.mdb';      db.CompactDatabase(FileName,TempFile);      DeleteFile(FileName);      RenameFile(TempFile,FileName);      Result:=True;    except      on E:EOleException do        ShowMessage(E.Message);    end  finally    db:=Unassigned;  end;end;//修复Access数据库function DaoRepairDB(const FileName:string):Boolean;var  db:OleVariant;begin  Result:=False;  try    if not DaoActive(db) then      Exit;    try      db.RepairDatabase(FileName);      Result:=True;    except      on E:EOleException do        ShowMessage(E.Message);    end  finally    db:=Unassigned;  end;end;end. 

热点排行