你看一下是否是用了catchedupdate属性是否是true!
如果是true的话,你要调用Query1.ApplyUpdates 方法才行!

解决方案 »

  1.   

    第一个不知是不是楼上各位所说的,~~第二个:
    2.第二个
    query1.RequestLive:=true;
    if not query1.Active then
                 query1.Open ;
                 //query1.edit;  //<---这行不用
               if messagedlg('确定要删除'+query1.FieldValues['姓名'],mtconfirmation,[mbyes,mbno],0)=mryes then
                        begin
                         query1.Delete;
                         end
                          else
                              //query1.Cancel ;  <-------这个也不用
                              exit;
      

  2.   

    第一个问题中不能用post,要用query.applyupdates(-1);
    第二个问题用eidt;
      

  3.   

    干脆换成用sql语句不行吗?
     query1.sql.delete(''')
      

  4.   


    成功啦!
    loverlv(精灵鼠) (  ) 的方法管用!
    nne998(上上下下左右左右BABA) (  ) 所说的无关痛痒!
    asdie(无名) (  ) 的其实不用参数
    用sql当然也可以啊
    总之成功了,很高兴,散分!散分!!