1:首先确定findkey时,确实找到了这条记录。
2:对于Table来说,Delete后要Refresh(Close, Open)才能体现

解决方案 »

  1.   

    我在delete;加了refresh;怎么还是有的表改了,有的没改呀,(close,open)是参数吗?我加了后反而出错了。
      

  2.   

    把table1的Autorefresh属性设为true;
      

  3.   

    我将table1的autorefresh改成了true,可是新增的部分还是没反应,但是我没关闭程序,再转到删除部分(另一个界面),却可以看到有新增的内容以供删除(就是直接用database desktop看数据表时,没有新增的行的)。帮我看一下程序吧!//新增功能//
    with datamodule1.table1 do
    begin
    tablename:='E_BASIC';
    active:=true;
    datamodule1.table1.appendrecord(
    [ename.text,
     ecode.text,
     sexfield,
     formatdatetime('yyyy-mm-dd',birthday.Date),
     edulevel.text,
     specialty.text,
     nationality.text,
     homeplace.text,
     folk.text,clan.text,
     wedlockfield ,
     address.Text ,
     zipcode.text,
     phone.text,
     idcard.text,
     archivesid.text,
     relation.text]);
    Refresh;
    close;
    open;//删除功能//
     with datamodule1.table1 do
      begin
      tablename:='E_BASIC';
      open;
      if findkey([delecode.text]) then
      begin
       delete;
       refresh;
       close;
       open;
      end;
     end;
      

  4.   

    我用的是appendrecord,书上不是说不要用post的吗,我试过了也没用的,我现在用applyupdates倒可以了,但我不清楚到底refresh和applyupdates最大的区别是什么?是不是要根据数据库而言呀?请赐教,我用的是oracle数据库。