adoquery2.SQL.Clear;
    adoquery2.SQL.Add('delete from jhk where 1=1');
    adoquery2.ExecSQL;
    adoquery2.SQL.Clear;
    adoconnection2.Close;
    adoconnection2.Open;
    adoquery2.SQL.Clear;
    //提示该库已经打开
    adoquery2.SQL.Add('pack jhk');
    adoquery2.ExecSQL;
在注释后代码执行时,出错,说文件正被使用,请教如何解决?

解决方案 »

  1.   

    adoquery2.close;
    adoquery2.SQL.Clear;
        adoquery2.SQL.Add('delete from jhk where 1=1');
        adoquery2.ExecSQL;
        adoquery2.close;
        adoquery2.SQL.Clear;
        //提示该库已经打开
        adoquery2.SQL.Add('pack jhk');
        adoquery2.ExecSQL;
      

  2.   

    不执行pack你看是坐标记了还是删除了
      

  3.   

    你在打开表的时候,不是以独占方式打开的!PACK只能在独占方式使用!
      

  4.   

    那我应该怎么解决?
    我改连接的时候,因为是自由表驱动,不让选exclusive(灰色),怎么办
      

  5.   

    我在论坛上面好象看到过,别人用其他方法实现的PACK!你找找看
      

  6.   

    那些好象都是dbase,和这个不太一样吧
      

  7.   

    如果你的AdoQuery1的DatabaseName的连TDatabase组件的,则应先关再打开adoquery2.SQL.Clear;
        adoquery2.SQL.Add('delete from jhk where 1=1');
        adoquery2.ExecSQL;
        adoquery2.SQL.Clear;
        adoconnection2.connection:=false;
        adoconnection2.connection:=true;
        Adoquery2.close;    
        adoquery2.SQL.Clear;
        //提示该库已经打开
        adoquery2.SQL.Add('pack jhk');
        adoquery2.ExecSQL;
        
      

  8.   

    pack jhk不是sql语句,不提供给oldDB的
    调用外部实现吧
      

  9.   

    请教一下你怎么知道oledb中不包含它,我实际使用过程中好象的确如此,那我该如何实现。
      

  10.   

    留你e-mail
    pack就像其它数据库压缩功能一样,不在ansi SQL标准里面,因为实现过程和数据系统、操作系统平台相关性大。
      

  11.   

    delete from table where .... 
    好象不用pack 的吧.没试过。
      

  12.   

    简单就用fox2.6for dos写个pack编译成exe在程序里winexec