query1.close ;
query1.sql.text := 'delete from youtablename';
query1.execsql ;

解决方案 »

  1.   

    table.First;
    while not table.eof do
      table.delete;
      

  2.   

    楼上的,丢了一句吧
    table.first;
    while not table.eof do
      begin
        ..
        table.next;
      end;
      

  3.   


    我已经试用过了,没有问题的! if Table111.Active=False then Table111.Active:=True; Table111.Close; Table111.EmptyTable;
      

  4.   

    什么叫逻辑删除,什么叫物理删除?
    如果是SQL SERVER,上述删除语句真的就删了,想恢复也是不可能的。
    但是如果是Paradox或者Dbase,那么我承认,这些记录还是可以被恢复回来,如果没有做Pack的话。当然要做Pack也是非常简单的,D5DG中有代码,自己去看吧。
      

  5.   

    对于本地表,我来试试真删除:
    用Table打开该表,
    将FieldDefs属性用Assign赋给一个新建的Table1;
    将IndexDefs属性用Assign赋给Table1;
    将DataBaseName属性赋给Table1;
    将TableName属性赋给Table1;
    关闭Table;
    用DeleteFile API函数删除Table所指向的文件;
    用Table1的CreateTable创建新表;OK到这里了!另一种方法其实是大家经常用的用BDE的API函数,不过我用这种方法多些!
      

  6.   

    简单的问题
    sephil(心情不好又能如何?)(NAILY)的正确!
      

  7.   

    使用query执行truncate table tablename,全部纪录被立即截断,不能恢复 
      

  8.   

    truncate tabel tablename
    效率高,没有什么后遗症