在Access表中有N个字段,其中有一个字段为“是否删除”,是逻辑类型(是/否)我在Delphi中有一条表达式:
    with adoquery2 do
    begin
      close;
      sql.Clear;
      sql.Add('Delete * from m_buy where 是否删除=true');
      execsql;
    end;但不知到什么原因每次用这种方法删除数据的时候总是剩下一行,没有被删除。请问各位高人这是什么原因呢?如果代码有问题,能帮我改一下吗?

解决方案 »

  1.   

    with adoquery2 do
        begin
          close;
          sql.Clear;
          sql.Add('Delete  from m_buy where 是否删除=1' );  //不要用*,True改为1
          execsql;
        end;
      

  2.   

    delete from m_buy where 是否删除 =1
      

  3.   

    with adoquery2 do
        begin
          close;
          sql.Clear;
          sql.Add('Delete * from m_buy where 是否删除=1');
          execsql;
        end;Access 有时很变态!