你为什么不先判断有没有Table1然后再删除呢????

解决方案 »

  1.   

    当然可以先判断Table1.dbf文件是否存在,但如果该文件是坏的呢?
      

  2.   

    内存泄露了吗?
    我认为你已经将sql的执行放到了try..expect..end异常保护之中,你只要在except中提示用户table不存在即可。
      

  3.   

    什么的内存泄露了?
    如果你是指ADOCommand,那么改用try...finally,在finally里把ADOCommand给free掉就行了.
    你是用什么查出是这里泄露的?
      

  4.   

    1:除非关掉应用程序,否则泄露掉的内存无法释放,即使将ADOCommand1给free掉了也没用
    2:这个异常保护本来就是用来判断表table1是否存在而设的。如果你需要反复大量执行这段代码就会发现很明显的内存泄露了,执行1000次可以吃掉近20MB内存。问题的关键是为什么用Visual Foxpro做数据源时有内存泄露,而同样的代码用Access做数据源就没问题,并且肯定不是Delphi控件的问题(用VB写的程序问题一模一样)
      

  5.   

    在异常段把ADOCOMMAND CLOSE掉