我用delphi的ADOQuery来操作vfoxpro表的记录,当我删除记录时,用 delete from vfox_table1,
但表内只是加了一个删除的标记,并未全部删除记录。
如何全部删除记录?就象vfoxpro的命令pack一样。 解决立即给分。

解决方案 »

  1.   

    {***************************************************************
    *
    * 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.
      

  2.   

    用bde api即可,查查bde的帮助中有
      

  3.   

    请教各位数据库高手,是VF方面的:
    在VF6.0的库中的时间记录是这样的格式:2004-9-18 00:15:28
    我想用命令将该格式转换为:20040918001528  也就是将上述格式中的两横去掉,空格去掉,时间分隔符去掉。
    不知各位高手是否有解决办法,还有就是库中的时间记录可实在不少,需要一个能够批量转换的命令,最好是一条命令就能够完成。
    谢谢各位高手的指教!
    谢谢!
    我的mail:[email protected]