我用的是TDBISAMQuery。源码如下:  
 
   with  MainForm.qryTest  do  
   begin  
       if  not  (State  in  [dsInsert])  then  
           Edit;  
       FieldByName('name').AsString  :=  edtName.Text;  
       FieldByName('add').AsString  :=  edtAdd.Text;  
       Post;  
       //UpdateRecord;  
   end;  
 
Post或UpdateRecord之后,当时能在DBGrid上显示出来,但重新打开程序还是原来的数据。

解决方案 »

  1.   

    我已经改成true了,不顶用:(
      

  2.   

    如果你真的要這麼做的話還是用table 控件來得方便。
      

  3.   

    to  yleiou(鱼的眼睛):
    查询语句是:
    strSQL := 'Select * From MyTable where FolderID=' + IntToStr(FolderID) +
        'order by ID desc';
      

  4.   

    是不是设置了cacheUpdate := True了
      

  5.   

    没有用过你的控件,我用Query和AdoQuery这样子完全可以的
      

  6.   

    原因可能是出在mytable上面,如果Mytable是表则不应出现这种问题,如果mytable是查询则有可能出现不能更新的现象。例如该查询引用两个表,或使用group by等函数就不以更新了