在DELPHI7内向ADOQuery写入
  while not eof do
    begin
     delete;
     next;
    end;
总是无法完全删除记录
如果只有一条记录,可以删除
如果有一条以上记录,最后会剩下一条没有删除
请问这是怎么回事?

解决方案 »

  1.   

    用下面的试试
     Last;
      while not bof do
        begin
         delete;
         Privor;
        end;
      

  2.   

    用 SQL 语句不知道怎么样啊
      

  3.   


    我打算用DELETE了,那样没问题
    只是不知道while为什么不行有人能解答一下吗
    此帖明早结
      

  4.   

    while not eof do
        begin
         delete;
         next;
        end;
    //在删除一次;
      delete
      

  5.   

    一群菜鸟!
    First;
    while not eof do
      delete;
      

  6.   

    blazingfire(烈焰)(正在思考的流浪汉...)  is right!!!!!!!!!!!!!!!!!!!!
      

  7.   

    delete也会移动记录指针的,while not eof do delete
      

  8.   

    假设你当前记录不是第一条,用(NOT EOF)为条件删除记录时,当然记录之前的是删不掉的。所以在删除之前应将当前记录定位在第一条记录上。
      with adoquery1 do
      begin
        first;
        while not eof do
          delete;
      end;
      

  9.   

    table1.first
    while not table1.eof do
        begin
         table1.delete;
         //next;   必须把这行去掉!!!!!
        end;
    准备接分
      

  10.   

    想问一下为什么一定要用"while not eof do"?,
      with adoquery1 do
      begin
        close;
        sql.clear;
        sql.add('delete from xxx');
        execsql;
      end;
    这样不是更快删除所有数据?