在DBGrid中删除选中的条目,
procedure TFm_Nbook.Button3Click(Sender: TObject);
begin
  fm_data.Cd_books.Edit;
  fm_data.Cd_books.Delete;
end;
请问有什么问题吗,数据表中删不掉。
谢谢

解决方案 »

  1.   

    begin
    with ADOQuery1 do  //不一定用ADOQuery1,只要看你用什么控键来连接数据库
      begin
       try
       delete;
       if messagedlg('您确定要删除该记录吗?',mtconfirmation,[mbYes,mbNo],0)= mrYes then
    post;
       
    except
    cancel;
     
      end;
      
    end;
    end;
    end.
      

  2.   

    当然不需要Edit的
    直接Delete就OKhttp://lysoft.7u7.net
      

  3.   

    procedure TFm_Nbook.Button3Click(Sender: TObject);
    begin
      fm_data.Cd_books.Delete;
      fm_data.Cd_books.post;//如果是TAdoXXX
    end;
      

  4.   

    如果你使用的是Query来查询数据,则直接用query.delete;如果是Table,则用Table.delete,不需要再调用post
      

  5.   

    begin
    with ADOQuery1 do  //不一定用ADOQuery1,只要看你用什么控键来连接数据库
      begin
       try
       disablecontrol;
       delete;
       if messagedlg('您确定要删除该记录吗?',mtconfirmation,[mbYes,mbNo],0)= mrYes then
    post;
       enablecontrol;
       
    except
    cancel;
     
      end;
      
    end;
    end;
    end.
      

  6.   

    实际情况是用Tclientdataset连接到主程序的provider上 provider连接到query
    应该怎么办啊
    帮帮忙 分不够再加
      

  7.   

    删不掉是正常的,因为数据都在缓存中嘛!
    你要删了后再应用一下,clientdataset1.APPLYUPDATE(0)一下,这样才能这正更新数据到库中。