我用delphi + paradox + BDE + TTable写了个小东西,
Table里面填充进去的数据要在退出程序前清空,但是纪录一多,清空起来相当困难。我使用的如下方法:
with tablex do
begin
  first
  while not Eof do (记得不太清楚,反正是判断到了表的最后没有)
  delete
end;这样逐条删除太慢了,请问谁有个快点的方法阿?(在不改变程序现有结构的基础上),多谢!

解决方案 »

  1.   

    如果你用DBE的话:
    with tablex do
    begin
      first
      while not Eof do 
      delete
    end;//改成
    tablex.EmptyTable;//用ADO的话,最好用AdoQuery来操作
    with AdoQuery1 do
    begin
      close;
      sql.clear;
      sql.add('delete from 你要删的表名');
      execsql;
    end;
      

  2.   

    with query1do
    begin
      close;
      sql.clear;
      sql.add('truncate table 表');
      execsql;
    end;
      

  3.   

    tablex.EmptyTable; 这个我试过,她说什么不能对一个已经打开/关闭的表进行操作,
    我计划程序打开和关闭的时候都要清一遍,打开也要先连接,再清空。关闭也要清空,但是这个逻辑关系好像理不清楚,先谢过楼上的各位,明天再去公司试下……
      

  4.   

    Query1.Text:='delete from tablename';